The document provides performance tips for Symfony2 and PHP applications. It recommends starting by measuring performance before and after optimizations to identify where to focus efforts. Key areas to optimize include services like using PHP opcache, architecture like caching, and code through techniques like moving calculations out of loops. Symfony-specific tips involve using bytecode caching, lazy-loading services, and caching in general. The overall message is to prioritize scalability and only optimize after identifying bottlenecks through measurement and profiling.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
PHP is a first class citizen on IIS. A lot has been done in order to make sure that PHP can work well and fast on Windows. We will start by installing PHP with PHP Manager and discussing all the options including what thread safe vs non thread safe and VC6 vs VC9 means. Next we'll take a look at how to optimize the FastCGI IIS extension that Microsoft and Zend developed to provide a secure and performant environment for PHP applications. The last part of this webcast will show how to build PHP with Profile Guided Optimizations (PGO), a technique that can provide a significant performance boost in a wide range of applications.
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
"13 ways to run web applications on the Internet" Andrii ShumadaFwdays
So, we wrote our app. Using Node.js, React, or Angular. And what's next? How your masterpiece can be shown to the entire Internet, or at least your mom, client, or friends. Probably you should find a DevOps, that will launch it for us... But what if I tell you, how to do it on your own? At this talk I'll show you 13 ways, how to launch your app on the Internet, what is the difference between them, and which method you should choose in a particular situation, from simple to complex, from free to expensive and robust.
A look at mod_php and fastcgi and how apache handles internal HTTP requests. Aim is to provide web developers and architects with architectural information on how mod_php and fastcgi handle static and dynamic requests to provide background knowledge when deciding on which way to go for your server or application.
Magento is a complex and flexible eCommerce platform rich in features and community. We will go over common best practices and toolsets, introduce popular community resources, and take a quick dive into setting up a Magento site to illustrate the effort required to get a project off the ground.
In this presentation Mathew Beane will briefly discuss the following topics:
Best Practices: Keeping core clean, how to modify Magento the right way.
Common Toolsets: Zend Studio, Z-Ray, n98-magerun and other common tools.
Community Resources: How to join the Magento Community
Certification: How to get Magento Certified
Setting up a Magento site: Covering the basic design and development choices.
- See more at: http://www.zendcon.com/session#node-91
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
PHP is a first class citizen on IIS. A lot has been done in order to make sure that PHP can work well and fast on Windows. We will start by installing PHP with PHP Manager and discussing all the options including what thread safe vs non thread safe and VC6 vs VC9 means. Next we'll take a look at how to optimize the FastCGI IIS extension that Microsoft and Zend developed to provide a secure and performant environment for PHP applications. The last part of this webcast will show how to build PHP with Profile Guided Optimizations (PGO), a technique that can provide a significant performance boost in a wide range of applications.
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
"13 ways to run web applications on the Internet" Andrii ShumadaFwdays
So, we wrote our app. Using Node.js, React, or Angular. And what's next? How your masterpiece can be shown to the entire Internet, or at least your mom, client, or friends. Probably you should find a DevOps, that will launch it for us... But what if I tell you, how to do it on your own? At this talk I'll show you 13 ways, how to launch your app on the Internet, what is the difference between them, and which method you should choose in a particular situation, from simple to complex, from free to expensive and robust.
A look at mod_php and fastcgi and how apache handles internal HTTP requests. Aim is to provide web developers and architects with architectural information on how mod_php and fastcgi handle static and dynamic requests to provide background knowledge when deciding on which way to go for your server or application.
Magento is a complex and flexible eCommerce platform rich in features and community. We will go over common best practices and toolsets, introduce popular community resources, and take a quick dive into setting up a Magento site to illustrate the effort required to get a project off the ground.
In this presentation Mathew Beane will briefly discuss the following topics:
Best Practices: Keeping core clean, how to modify Magento the right way.
Common Toolsets: Zend Studio, Z-Ray, n98-magerun and other common tools.
Community Resources: How to join the Magento Community
Certification: How to get Magento Certified
Setting up a Magento site: Covering the basic design and development choices.
- See more at: http://www.zendcon.com/session#node-91
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
Paweł Skotnicki: Masz zacząć pracę z legacy code? Nie wiesz, gdzie najlepiej zrobić refactor? A może zaczynasz nowy projekt, który, tym razem, ma utrzymywać najwyższą jakość kodu? Istnieje sporo narzędzi, które mają w tym pomóc, a my często o nich zapominamy. Przedstawię lub przypomnę część z nich.
Let's look at the many "flavors" of PHP, why they are there, how they work and when to use them. We'll also dive a little into the PHP core design pattern of using SAPIs to access the true core application.
A soup to nuts presentation on using Composer and repository servers to manage and leverage shared code libraries for personal projects to the largest enterprise.
If you are like most CFML developers the application you work on has been around for a few years. The task of securing your legacy application code from vulnerabilities can be an overwhelming and time consuming task. Many developers don't know where to start, and never do.
This session will arm you with an approach slaying the legacy security vulnerabilities in your CFML code.
Can you contain the future - Docker, Container Technologies, The Future, and YouColdFusionConference
Linux containers and Docker have been all the rage in sysOps for quite some time now. Come to this session to learn about how you can or if you should be using them, and to learn about container technologies, how thy differ from VMs and if they truly are the future. Take a look at Docker basics and get an understanding of how it can be used as part of your workflow, not just for development, but for production deployments as well. We will also bust some Myths surrounding container technologies and Docker.
Microsoft has traditionally been a laggard in the JavaScript space, making such developers question whether their war cries were being heard aloud. Fortunately, the situation is rapidly improving since the release of Visual Studio Code. Code is a free, lightweight, cross-platform code editor which is sure to change your perception of Microsoft.
This presentation will demonstrate how to utilize popular JavaScript tooling within the editor. The focus will be placed on the first-class support for debuggers, linters, transpilers, and task runners.
Virtual Bolt workshop
Learn how to use Bolt in an interactive virtual workshop.
Join us for an interactive virtual Bolt workshop on Wednesday, 11 March 2020. You’ll learn how to install and configure common Bolt activities and leave with your laptops Puppet-ready, with Bolt + PDK + Puppet Agent + VS Code. Plus, you’ll get to speak with experts from Puppet and the community.
What's Bolt? Bolt is an open source, agentless multi-platform automation tool that reduces your time to automation and makes it easier to get started with DevOps. Bolt makes automation much more accessible without requiring any Puppet knowledge, agents, or master. It uses SSH or WinRM to communicate and execute tasks on remote systems.
Your teams can perform various tasks like starting and stopping services, rebooting remote systems, and gathering packages and systems facts from your workstation or laptop on any platform (Linux and Windows).
Symfony Camp 2013 UA.
Continuous Integration and Automated Deployments for Symfony-based projects
P.S. Original PPTX presentation contains a lot of notes
Paweł Skotnicki: Masz zacząć pracę z legacy code? Nie wiesz, gdzie najlepiej zrobić refactor? A może zaczynasz nowy projekt, który, tym razem, ma utrzymywać najwyższą jakość kodu? Istnieje sporo narzędzi, które mają w tym pomóc, a my często o nich zapominamy. Przedstawię lub przypomnę część z nich.
Let's look at the many "flavors" of PHP, why they are there, how they work and when to use them. We'll also dive a little into the PHP core design pattern of using SAPIs to access the true core application.
A soup to nuts presentation on using Composer and repository servers to manage and leverage shared code libraries for personal projects to the largest enterprise.
If you are like most CFML developers the application you work on has been around for a few years. The task of securing your legacy application code from vulnerabilities can be an overwhelming and time consuming task. Many developers don't know where to start, and never do.
This session will arm you with an approach slaying the legacy security vulnerabilities in your CFML code.
Can you contain the future - Docker, Container Technologies, The Future, and YouColdFusionConference
Linux containers and Docker have been all the rage in sysOps for quite some time now. Come to this session to learn about how you can or if you should be using them, and to learn about container technologies, how thy differ from VMs and if they truly are the future. Take a look at Docker basics and get an understanding of how it can be used as part of your workflow, not just for development, but for production deployments as well. We will also bust some Myths surrounding container technologies and Docker.
Microsoft has traditionally been a laggard in the JavaScript space, making such developers question whether their war cries were being heard aloud. Fortunately, the situation is rapidly improving since the release of Visual Studio Code. Code is a free, lightweight, cross-platform code editor which is sure to change your perception of Microsoft.
This presentation will demonstrate how to utilize popular JavaScript tooling within the editor. The focus will be placed on the first-class support for debuggers, linters, transpilers, and task runners.
Virtual Bolt workshop
Learn how to use Bolt in an interactive virtual workshop.
Join us for an interactive virtual Bolt workshop on Wednesday, 11 March 2020. You’ll learn how to install and configure common Bolt activities and leave with your laptops Puppet-ready, with Bolt + PDK + Puppet Agent + VS Code. Plus, you’ll get to speak with experts from Puppet and the community.
What's Bolt? Bolt is an open source, agentless multi-platform automation tool that reduces your time to automation and makes it easier to get started with DevOps. Bolt makes automation much more accessible without requiring any Puppet knowledge, agents, or master. It uses SSH or WinRM to communicate and execute tasks on remote systems.
Your teams can perform various tasks like starting and stopping services, rebooting remote systems, and gathering packages and systems facts from your workstation or laptop on any platform (Linux and Windows).
Symfony Camp 2013 UA.
Continuous Integration and Automated Deployments for Symfony-based projects
P.S. Original PPTX presentation contains a lot of notes
Effective Doctrine2: Performance Tips for Symfony2 DevelopersMarcin Chwedziak
How to boost performance Doctrine2 with Symfony2. How to configure metadata caching? How to optimize DQL queries for caching. How to properly setup transaction demarcation with EntityManager. How to deal with EntityManager and Listeners with Symfony2 container.
Rationally boost your symfony2 application with caching tips and monitoringGiulio De Donato
Turin SymfonyDay, 5th October 2012 by @liuggio - I will try to keep the tips updated, I suggest you put this talk to your favorites. - Any comment or feedback are really appreciated.
When we develop software application, we need to think about our interfaces and we need to think about separate code into software components.
This talk would like to discuss about the following issues:
* How to separate code into components?
* How to design interfaces?
* How to design error messages?
https://www.youtube.com/watch?v=jgvItnE6rd0&list=PLEhSHDVBMPO3YBi5UiGNXlDlPLakz-AGi&index=22
Labview1_ Computer Applications in Control_ACRRLMohammad Sabouri
Computer Applications in Control
ACRRL
Applied Control & Robotics Research Laboratory of Shiraz University
Department of Power and Control Engineering, Shiraz University, Fars, Iran.
Instructor: Dr. Asemani
TA: Mohammad Sabouri
https://sites.google.com/view/acrrl/
This is episode 4 of the building the perfect PHP app for the enterprise webinar series. Nothing is faster than a frustrated user clicking away from your site or abandoning your service. Avoid attrition by learning how to tune your applications towards lightning-fast page loads and response times. Learn: the basic principles behind enterprise PHP performance management; How to optimize workloads through background jobs and caching; How to measure performance and make data-driven decisions.
Hyperion EPM APIs - Added value from HFM, Workspace, FDM, Smartview, and Shar...Charles Beyer
Application Programming Interfaces allow developers to leverage existing program code in an effort to build additional functionality, automate processes or present existing functionality in a different format. APIs exist for many of Hyperion products; however, clear examples of how to use them are not always easy to find nor are applications for the API readily available. Proper application of the APIs for HFM, Workspace, FDM, Smartview and Shared Services can simplify the daily routines of end users and administrators.
This session will provide a high level overview of how each of the APIs work. Additionally, real-world examples for each API will be provided. Fully working code will be available for download from the ODTUG 12 site which attendees can use in their own environments.
The Cytoscape Cyberinfrastructure extends Cytoscape and its community into web-connected services.The CI is a Service Oriented Architecture that supports network biology oriented computations that can be orchestrated into repeatable workflows.
The large O’Reilly survey on serverless adoption indicated that the majority of enterprises have not yet adopted serverless. They have cited the following concerns as main factors: security, the steep learning curve, vendor lock-in, integration/debugging and observability of serverless applications.
In this talk, I will share my views on these concerns and present how Waylay IO has addressed these challenges. Waylay IO’s mission is to finally unlock all promised benefits of serverless computation, with an intuitive and developer-friendly low-code platform.
Learn more about the tremendous value Open Data Plane brings to NFV
Bob Monkman, Networking Segment Marketing Manager, ARM
Bill Fischofer, Senior Software Engineer, Linaro Networking Group
Moderator:
Brandon Lewis, OpenSystems Media
Connect Bridge is a powerful, yet easy to use integration platform that allows every developer to design their own integration solutions without much effort and training.
The Connect Bridge platform provides 400+ connectors to most popular and widespread business and industry applications, and new connectors are created all the time.
This robust API management platform can connect from any software of the last 40 years.
Any developer can become an integration hero within 3 hours. Only this little time is needed to understand the platform functionality and start building the logic of system integration according to your needs.
All our successful market-leader products (1000+ installations worldwide) are built on the Connect Bridge platform.
----
For more information visit our website https://www.connecting-software.com/connect-bridge/
or contact us via office@connecting-software.com
The presentation which I was using during my talk at EPAM Lviv JS community about offline-first applications. Contains high-level review of tools and web platform to submerge folks in a world of offline-first thinking.
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...InfluxData
In this InfluxDays NYC 2019 session, Richard Laskey from the Wayfair Storefront team will share their monitoring best practices using InfluxEnterprise. These efforts are critical and help improve the user experience by driving forward site-wide improvements, establishing best practices, and driving change through many different teams.
Similar to Performance tips for Symfony2 & PHP (20)
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Courier management system project report.pdfKamal Acharya
It is now-a-days very important for the people to send or receive articles like imported furniture, electronic items, gifts, business goods and the like. People depend vastly on different transport systems which mostly use the manual way of receiving and delivering the articles. There is no way to track the articles till they are received and there is no way to let the customer know what happened in transit, once he booked some articles. In such a situation, we need a system which completely computerizes the cargo activities including time to time tracking of the articles sent. This need is fulfilled by Courier Management System software which is online software for the cargo management people that enables them to receive the goods from a source and send them to a required destination and track their status from time to time.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
Presented at NUS: Fuzzing and Software Security Summer School 2024
This keynote talks about the democratization of fuzzing at scale, highlighting the collaboration between open source communities, academia, and industry to advance the field of fuzzing. It delves into the history of fuzzing, the development of scalable fuzzing platforms, and the empowerment of community-driven research. The talk will further discuss recent advancements leveraging AI/ML and offer insights into the future evolution of the fuzzing landscape.
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
Overview of the fundamental roles in Hydropower generation and the components involved in wider Electrical Engineering.
This paper presents the design and construction of hydroelectric dams from the hydrologist’s survey of the valley before construction, all aspects and involved disciplines, fluid dynamics, structural engineering, generation and mains frequency regulation to the very transmission of power through the network in the United Kingdom.
Author: Robbie Edward Sayers
Collaborators and co editors: Charlie Sims and Connor Healey.
(C) 2024 Robbie E. Sayers
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSEDuvanRamosGarzon1
AIRCRAFT GENERAL
The Single Aisle is the most advanced family aircraft in service today, with fly-by-wire flight controls.
The A318, A319, A320 and A321 are twin-engine subsonic medium range aircraft.
The family offers a choice of engines
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
Automobile Management System Project Report.pdfKamal Acharya
The proposed project is developed to manage the automobile in the automobile dealer company. The main module in this project is login, automobile management, customer management, sales, complaints and reports. The first module is the login. The automobile showroom owner should login to the project for usage. The username and password are verified and if it is correct, next form opens. If the username and password are not correct, it shows the error message.
When a customer search for a automobile, if the automobile is available, they will be taken to a page that shows the details of the automobile including automobile name, automobile ID, quantity, price etc. “Automobile Management System” is useful for maintaining automobiles, customers effectively and hence helps for establishing good relation between customer and automobile organization. It contains various customized modules for effectively maintaining automobiles and stock information accurately and safely.
When the automobile is sold to the customer, stock will be reduced automatically. When a new purchase is made, stock will be increased automatically. While selecting automobiles for sale, the proposed software will automatically check for total number of available stock of that particular item, if the total stock of that particular item is less than 5, software will notify the user to purchase the particular item.
Also when the user tries to sale items which are not in stock, the system will prompt the user that the stock is not enough. Customers of this system can search for a automobile; can purchase a automobile easily by selecting fast. On the other hand the stock of automobiles can be maintained perfectly by the automobile shop manager overcoming the drawbacks of existing system.
2. Intro
Max Romanovsky
37 Slides
Questions after presentation
Out of scope: HW & OS tuning, VM vs HW
servers
“Premature optimization is the root of all evil”
Knuth’s quote is missing
No cats, boobs or other images in slides
2
3. Quiz
3
What to optimize?
Architecture
Code
Services
6. How to start?
Forget about microoptimizations for now
Курочка по зернышку – весь двор в говне
Make it scalable
What is cheaper? To scale or to optimize?
6
8. Quiz
8
What was the sloooooowest?
DB queries
Network communication
PHP configuration
VM/HW server
Stupid code
9. What could be slow
9
Network communication (with client, inside
LAN)
VM/HW server
OS & runtime itself
Communication with services
Code (finally!)
14. Question
14
Can we compare xhprof & xdebug results?
Are they relevant?
15. Overhead & irrelevant results?
15
Runtime (i.e. code execution) is slower with
profiler enabled
Communication with services is not slower
Mess in results
You are analyzing DIFFERENT results
16. Use lightweight profiler
16
XHProf
XHgui (saves runs to RDBMS)
Uprofiler (fork?)
https://github.com/FriendsOfPHP/uprofiler
17. Measure performance in real
world
17
Turn on profiler periodically
For 1% of requests
For 1 app server
Record & replay user activity
Use Jmeter to record scenarios
Use good old ab, siege, http_load
18. Tune
18
Tune 1 factor at once
Store configuration & measuring results in
VCS
Measure after tuning
31. Why not to optimize
31
Improve architecture
Man, it’s PHP! It is designed to be SLOOOOW
Optimize code for people, not for machines
Курочка по зернышку?..
Well… OK. But profile
32. What to optimize. Boooring
32
DB
Move calculations to DB
Move aggregation to DB
MOVE LIMIT TO DB!!1
Move calculations outside the loop
Don’t concatenate string insanely
Don’t pass huge arrays by value to functions
Don’t use arrays anyway
34. As seen on TV
34
http://symfony.com/doc/current/book/performa
nce.html
Use a Byte Code Cache
Composer's Class Map
Caching the Autoloader with APC
Use Bootstrap Files
35. Tipzzz
35
Services
Lazy with ocramius/proxy-manager
Controllers
Console commands
Move app/cache to tmpfs
Twig C extension
Don’t use router:dump. It’s deprecated
https://github.com/symfony/symfony/issues/9652
Don’t use Symfony Profiler for profiling
36. More?
36
http://symfony.com/blog/push-it-to-the-limits-symfony2-
for-high-performance-needs
https://www.youtube.com/watch?v=b8ewqVGu
77w
https://profiler.sensiolabs.com/ - still waiting for
invite
37. The End
37
max.romanovsky@gmail.com
http://maxromanovsky.com