Apache httpd v2.4 is well-suited for cloud environments due to improvements that increase performance, flexibility, and dynamic configuration capabilities. It has been enhanced as a reverse proxy with load balancing and support for additional protocols. Benchmark tests show that for transaction speed, the prefork MPM performs best, though other MPMs are on par for concurrency. Apache remains a robust and customizable web server option.
October 14 2009 New York Web Performance Group Session.
Rusty Conover is talking about his experience at InfoGears building Content Delivery Network (CDN) on top of Amazon EC2
October 14 2009 New York Web Performance Group Session.
Rusty Conover is talking about his experience at InfoGears building Content Delivery Network (CDN) on top of Amazon EC2
How To Set Up SQL Load Balancing with HAProxy - SlidesSeveralnines
We continuously see great interest in MySQL load balancing and HAProxy, so we thought it was about time we organised a live webinar on the topic! Here is the replay of that webinar!
As most of you will know, database clusters and load balancing go hand in hand.
Once your data is distributed and replicated across multiple database nodes, a load balancing mechanism helps distribute database requests, and gives applications a single database endpoint to connect to.
Instance failures or maintenance operations like node additions/removals, reconfigurations or version upgrades can be masked behind a load balancer. This provides an efficient way of isolating changes in the database layer from the rest of the infrastructure.
In this webinar, we cover the concepts around the popular open-source HAProxy load balancer, and show you how to use it with your SQL-based database clusters. We also discuss HA strategies for HAProxy with Keepalived and Virtual IP.
Agenda:
* What is HAProxy?
* SQL Load balancing for MySQL
* Failure detection using MySQL health checks
* High Availability with Keepalived and Virtual IP
* Use cases: MySQL Cluster, Galera Cluster and MySQL Replication
* Alternative methods: Database drivers with inbuilt cluster support, MySQL proxy, MaxScale, ProxySQL
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
In this tutorial we will go over setting up a standard LEMP stack for development use and learn how to modify it to mimic your production/pre-production environments as closely as possible. We will go over how to switch from Nginx to Apache, upgrade PHP versions and introduce additional storage engines such as Redis to the equation. We'll also step through how to run both unit and acceptance suites using headless Selenium images in the stack. Leave here fully confident in knowing that whatever environment you get thrown into, you can replicate it and work in it comfortably.
This presentation explains how to deploy and use the Integrated Caching feature on Netscaler. I gave this presentation to Citrix staff, customers and partners in worldwide in 2011. The presentation covers best practices and gotchas :) Integrated Caching is an excellent feature that can greatly improve the performance of your website.
Load Balancing MySQL with HAProxy - SlidesSeveralnines
Agenda:
* What is HAProxy?
* SQL Load balancing for MySQL
* Failure detection using MySQL health checks
* High Availability with Keepalived and Virtual IP
* Use cases: MySQL Cluster, Galera Cluster and MySQL Replication
* Alternative methods: Database drivers with inbuilt cluster support, MySQL proxy, MaxScale, ProxySQL
Learn how to load balance your applications following best practices with NGINX and NGINX Plus.
Join this webinar to learn:
- How to configure basic HTTP load balancing features
- The essential elements of load balancing: session persistence, health checks, and SSL termination
- How to load balance MySQL, DNS, and other common TCP/UDP applications
- How to have NGINX Plus automatically discover new service instances in an auto-scaling or microservices environment
5 things you didn't know nginx could dosarahnovotny
NGINX is a well kept secret of high performance web service. Many people know NGINX as an Open Source web server that delivers static content blazingly fast. But, it has many more features to help accelerate delivery of bits to your end users even in more complicated application environments. In this talk we'll cover several things that most developers or administrators could implement to further delight their end users.
Scalable Architecture Design
DEVIEW 2013 에서 발표한 "오픈소스를 활용한 분산 아키텍처 구현기술" 장표입니다.
Scalable Architecture 디자인을 위해 필요한 다양한 구현 기술 중 몇가지를 소개해 드립니다.
관련된 내용으로 문의 있으시면 메일로 연락 주세요~
How To Set Up SQL Load Balancing with HAProxy - SlidesSeveralnines
We continuously see great interest in MySQL load balancing and HAProxy, so we thought it was about time we organised a live webinar on the topic! Here is the replay of that webinar!
As most of you will know, database clusters and load balancing go hand in hand.
Once your data is distributed and replicated across multiple database nodes, a load balancing mechanism helps distribute database requests, and gives applications a single database endpoint to connect to.
Instance failures or maintenance operations like node additions/removals, reconfigurations or version upgrades can be masked behind a load balancer. This provides an efficient way of isolating changes in the database layer from the rest of the infrastructure.
In this webinar, we cover the concepts around the popular open-source HAProxy load balancer, and show you how to use it with your SQL-based database clusters. We also discuss HA strategies for HAProxy with Keepalived and Virtual IP.
Agenda:
* What is HAProxy?
* SQL Load balancing for MySQL
* Failure detection using MySQL health checks
* High Availability with Keepalived and Virtual IP
* Use cases: MySQL Cluster, Galera Cluster and MySQL Replication
* Alternative methods: Database drivers with inbuilt cluster support, MySQL proxy, MaxScale, ProxySQL
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
In this tutorial we will go over setting up a standard LEMP stack for development use and learn how to modify it to mimic your production/pre-production environments as closely as possible. We will go over how to switch from Nginx to Apache, upgrade PHP versions and introduce additional storage engines such as Redis to the equation. We'll also step through how to run both unit and acceptance suites using headless Selenium images in the stack. Leave here fully confident in knowing that whatever environment you get thrown into, you can replicate it and work in it comfortably.
This presentation explains how to deploy and use the Integrated Caching feature on Netscaler. I gave this presentation to Citrix staff, customers and partners in worldwide in 2011. The presentation covers best practices and gotchas :) Integrated Caching is an excellent feature that can greatly improve the performance of your website.
Load Balancing MySQL with HAProxy - SlidesSeveralnines
Agenda:
* What is HAProxy?
* SQL Load balancing for MySQL
* Failure detection using MySQL health checks
* High Availability with Keepalived and Virtual IP
* Use cases: MySQL Cluster, Galera Cluster and MySQL Replication
* Alternative methods: Database drivers with inbuilt cluster support, MySQL proxy, MaxScale, ProxySQL
Learn how to load balance your applications following best practices with NGINX and NGINX Plus.
Join this webinar to learn:
- How to configure basic HTTP load balancing features
- The essential elements of load balancing: session persistence, health checks, and SSL termination
- How to load balance MySQL, DNS, and other common TCP/UDP applications
- How to have NGINX Plus automatically discover new service instances in an auto-scaling or microservices environment
5 things you didn't know nginx could dosarahnovotny
NGINX is a well kept secret of high performance web service. Many people know NGINX as an Open Source web server that delivers static content blazingly fast. But, it has many more features to help accelerate delivery of bits to your end users even in more complicated application environments. In this talk we'll cover several things that most developers or administrators could implement to further delight their end users.
Scalable Architecture Design
DEVIEW 2013 에서 발표한 "오픈소스를 활용한 분산 아키텍처 구현기술" 장표입니다.
Scalable Architecture 디자인을 위해 필요한 다양한 구현 기술 중 몇가지를 소개해 드립니다.
관련된 내용으로 문의 있으시면 메일로 연락 주세요~
Presented at the Open Repositories Conference, this presentation describes the Lessons Learned in the Open Source Movement that can be used outside of the traditional IT environment.
My Keynote from POSSCON 2013: Open Source and Free Software aren't as complex as you may think. This presentation distills down some key aspects of FOSS to a basic set of three "types"
My keynote at the CloudStack Collaboration Conference 2012 event. Overview of The Apache Way, the Lesson's Learned at the Apache Software Foundation on building code and community.
The need to scale is in high demand in an age where everything is moving to the cloud. Though the standard Apache configuration could handle a website with moderate traffic, the minute it gets slash dotted or twitted multiple times could spell an embarrassing crash landing! If you are the administrator of such a website then good luck finding another job! On the other hand you value high availability in the midst of popularity then read on. On this one day workshop, we will show you how to scale your website and webapps to scale to handle thousands of simultaneous sessions the right way. The topics covered will include:
- Setting up Apache and NGiNXM
- Setting up a sample LAMP web app
- Benchmarking Apache performance
- Fine tuning Apache to improve performance
- Fine tuning NGiNX to improve performance
- Discussion about code level improvements when developing custom webapps using PHP
Ganeti Web Manager: Cluster Management Made SimpleOSCON Byrum
Looking for an easy, scalable way to manage your Ganeti-based clusters? Ganeti Web Manager provides admins an easy to deploy, Django based GUI that effectively manages private clusters & works equally well for providing customers access. With a caching system designed to scale to thousands of virtual machines without decreasing performance, Ganeti Web Manager makes cluster management truly simple.
ApacheCon 2017: What's new in httpd 2.4Jim Jagielski
What new is Apache httpd 2.4, both in upgrading from httpd 2.2 and well as new features in this latest version. Performance, HTTP/2, reverse proxy and cache!
Web Performance Part 3 "Server-side tips"Binary Studio
The presentation is devoted to server side tips on improving Web Performance. All 4 presentations will help you reduce latency, enrich optimization of javascript code, discover tricky parts when working with API browser, see best practices of networking and learn lots of other important and interesting things. Enjoy! =)
OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...OpenNebula Project
In this session we'll explore measuring VM performance and evaluating changes to settings or infrastructure which can affect performance positively. We'll also share the best current practice for architecture for high performance clouds from our experience.
In this presentation, I show the audience how to implement HTTP caching best practices in a non-intrusive way in PHP Symfony 4 code base.
This presentation focuses on topics like:
- Caching using cache-control headers
- Cache variations using the Vary header
- Conditional requests using headers like ETag & If-None-Match
- ESI discovery & parsing using headers like Surrogate-Capability & Surrogate-Control
- Caching stateful content using JSON Web Token Validation in Varnish
More information about this presentation is available at https://feryn.eu/speaking/developing-cacheable-php-applications-php-limburg-be/
Scaleable PHP Applications in KubernetesRobert Lemke
Kubernetes is also called the "distributed Linux of the cloud" – which implies that it provides fundamental infrastructure, which can solve a lot of challenges. Let’s see how PHP applications fit into this picture. In this presentation, we are going to explore when Kubernetes is a good fit for operating your PHP application and how it can be done in practice. We’ll look at the whole lifecycle: how to build your application, create or choose the right Docker images, deploy and scale, and how to deal with performance and monitoring. At the end you will have a good understanding about all the different stages and building blocks for running a PHP application with Kubernetes in production.
Similar to Apache httpd 2.4: The Cloud Killer App (20)
InnerSource 101 for FinTech and FinServJim Jagielski
An overview of the topic, benefits, techniques and challenges of implementing an InnerSource policy in the FinTech/FinServ arena. From my talk at the Open Source Strategy Summit 2017 in NYC.
The topics of Free Software/Open Source licensing and governance can be complex and confusing. This presentation provides for an easy and clear description of the hows and whys of both. Presented at the All Things Open 2016 Conference in Raleigh, NC
Inner Source: Enterprise Lessons from the Open Source Community.Jim Jagielski
Slides from my Inner Sourcing talk from ApacheCon NA 2016. Inner Sourcing is using the methods and techniques of successful open source projects inside Enterprise IT.
The slides from my Apache Way talk at ApacheCon NA 2016. All about the Apache Way, lessons learned from the ASF about code, community and collaboration.
From the Linux Foundation Collaboration Summit 2016, my slides from the Why Community Matters presentation.
Why does community matter in open source and in open source foundations: because, frankly, there is nothing else.
Slides from my Inner Source 101 presentation at Great Wide Open 2016. Using the lessons learned from Open Source to enhance Enterprise IT via inner-sourcing
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Apache httpd 2.4: The Cloud Killer App
1. Apache httpd v2.4:
The Cloud Killer App
(but we still wuv you NOC people as well)
Jim Jagielski
2. About me
➡ Jim Jagielski
➡ Hacker and developer
➡ Wearer o’ many hats at the ASF
➡ Director: OSI
➡ Director and Secretary: Outercurve
➡ Council member: MARSEC-XL
➡ Consulting Engineer with Red Hat
➡ @jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
3. What we will cover
➡ QUICK Overview of Apache httpd 2.4
➡ General improvements
➡ Reverse proxy improvements
➡ How the Cloud is a game-changer for web (ie: what is a killer-
app for the cloud?)
➡ Performance related enhancements
➡ Cloud specific enhancements
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
4. Apache httpd 2.4
➡ Currently at version 2.4.4 (2.4.1 went GA Feb 21, 2012)
➡ Significant Improvements
➡ high-performance
➡ cloud suitability
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
5. Apache httpd 2.4 - design drivers
➡ Support for async I/O w/o dropping support for older systems
➡ Larger selection of usable MPMs: added Event, Simple, etc...
➡ Leverage higher-performant versions of APR
➡ Increase performance
➡ Reduce memory utilization
➡ The Cloud
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
6. What’s New: Apache httpd 2.4
➡ Bandwidth control now standard
➡ mod_ratelimit
➡ Finer control of timeouts, esp. during requests
➡ mod_reqtimeout
➡ KeepAliveTimout down to the millisecond
➡ Finer control over logging
➡ per module/per directory
➡ new logging levels (TRACE[1-8])
➡ <If> supports per-request conditions
➡ slot-based shared memory capability
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
7. What’s New: Apache httpd 2.4
➡ Controllable buffering of I/O
➡ mod_buffer
➡ Support for Lua (still experimental as of 2.4.4)
➡ Loadable MPMs
➡ Event MPM
➡ Async I/O
➡ Config file variables
➡ Cache improvements
➡ Proxy improvements (‘natch)
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
8. httpd is sooo old school (aka fud)
➡ Apache doesn’t scale (its SLOW)
➡ http://www.youtube.com/watch?v=bzkRVzciAZg
➡ Apache is too generalized
vs
➡ Apache is too complex (config file)
It’s Squagels!!
It’s Squagels
➡ really?
➡ Apache is too old
(yeah, just like Linux)
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
9. What makes a cloud killer-app?
➡ Stability
➡ Flexibility
➡ Performance
➡ Dynamic configuration
➡ Resource sensitive
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
10. Cloud and Performance
➡ The Cloud is a game changer for web servers
➡ Horizontal scalability is no longer as painful
➡ Concurrency is no longer the sole consideration
➡ ... or maybe even the primary one
➡ What’s important now? Transaction Time! (because it CAN be)
➡ Low latency
➡ Fast req/resp turnover
➡ Does density still matter? Of course!
➡ Are there environs where super-mega concurrency is the
bugaboo? You betcha! (but the cloud makes these more and more rare, and
you’re likely using a bad architecture anyway)
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
11. Apache httpd vs nginx
➡ Why nginx? Everyone asks about it...
➡ Benchmark: local and reverse proxy transaction times
➡ Apache httpd 2.4.4-dev, nginx 1.2.6
➡ CentOS5, Dual Xeon 2.28GHz
➡ 4GB memory
➡ localhost loopback and external (no firewall)
➡ Double checked results: OSX, Fedora 16
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
12. Setup
loopback
Setup 1:
Setup 2: Setup 3:
Setup 3:
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
13. Considerations
➡ Multiple benchmarking systems:
➡ flood (50/250/5/2, 50/100/5/2, 50/5/5/2)
➡ httperf (num-conns=100->20000, numcalls=3,10)
➡ Full URL requests (www.example.com/index.html)
➡ Static local requests
➡ Static reverse proxy requests
➡ All Apache httpd MPMs
➡ No significant “tuning” efforts (mostly out of the box configs)
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
14. nginx vs Event (typical)
Increasing concurrency Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
15. nginx vs Worker (typical)
Increasing concurrency Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
16. nginx vs Prefork (typical)
Increasing concurrency Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
17. Focus on open()
Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
18. Focus on write()
Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
19. Focus on read()
Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
20. Total req/resp time
Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
21. Resp to Req. Bursts - httperf
Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
22. Independent benchmark
Source: Ryosuke Matsumoto : http://blog.matsumoto-r.jp/?p=1812
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
23. Benchmark Conclusions
➡ Events, polling and fork/spawn creates overhead: good for
“more bang for buck” system, bad for performance for that
request
➡ For concurrency, Event & Worker on par with nginx*
➡ For transaction speed, prefork shines
➡ Let’s work on leaner MPM (more streamlined)
➡ *Main Caveats:
➡ Apache is never resource starved
➡ If memory is a scarce resource, nginx still better (for now ;) )
➡ More work can (and should) be done
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
24. Cloud and Dynamics
➡ The Cloud is a game changer for web servers
➡ The cloud is a dynamic place
➡ automated reconfiguration
➡ horizontal, not vertical scaling
➡ self-aware environments
OK, maybe not THAT self-aware
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
25. Why Dynamic Proxy Matters
➡ Apache httpd still the most frequently used front-end
➡ Proxy capabilities must be cloud friendly
➡ Front-end must be dynamic friendly
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
26. Proxy Design Drivers
➡ Becoming a robust but generic proxy implementation
➡ Support various protocols
➡ HTTP, HTTPS, CONNECT, FTP
➡ AJP, FastCGI, SCGI, WSGI
➡ Load balancing
➡ Clustering, failover
➡ Performance
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
27. What’s New: Apache httpd 2.4 proxy
➡ Reverse Proxy Improvements
➡ Supports FastCGI, SCGI in balancer
➡ Additional load balancing mechanisms
➡ Runtime changing of clusters w/o restarts
➡ Support for dynamic configuration
➡ mod_proxy_express
➡ mod_proxy_html
➡ mod_fcgid
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
28. Load Balancer
➡ mod_proxy_balancer.so
➡ mod_proxy can do native load balancing
➡ weight by actual requests
➡ weight by traffic
➡ weight by busyness
➡ lbfactors
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
29. Load Balancer
➡ Backend connection pooling
➡ Available for named workers:
➡ eg: ProxyPass /foo http://bar.example.com
➡ Reusable connection to origin
➡ For threaded MPMs, can adjust size of pool (min, max, smax)
➡ For prefork: singleton
➡ Shared data held in shared memory
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
30. Load Balancer
➡ Sticky session support
➡ aka “session affinity”
➡ Cookie based
➡ stickysession=PHPSESSID
➡ stickysession=JSESSIONID
➡ Natively easy with Tomcat
➡ May require more setup for “simple” HTTP proxying
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
31. Load Balancer
➡ Cluster set with failover
➡ Group backend servers as numbered sets
➡ balancer will try lower-valued sets first
➡ If no workers are available, will try next set
➡ Hot standby
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
32. Putting it all together
<Proxy balancer://foo>
BalancerMember http://php1:8080/ loadfactor=1
BalancerMember http://php2:8080/ loadfactor=4
BalancerMember http://phpbkup:8080/ loadfactor=1 status=+h
BalancerMember http://phpexp:8080/ lbset=1
ProxySet lbmethod=bytraffic
</Proxy>
<Proxy balancer://javaapps>
BalancerMember ajp://tc1:8089/ loadfactor=1
BalancerMember ajp://tc2:8089/ loadfactor=4
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass /apps/ balancer://foo/
ProxyPassReverse /apps/ balancer://foo/
ProxyPass /serv/ balancer://javaapps/
ProxyPass /images/ http://images:8080/
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
33. Mass Reverse Proxy
➡ We front-end a LOT of reverse proxies
➡ What a httpd.conf disaster!
➡ Slow and bloated
➡ mod_rewrite doesn’t help
<VirtualHost www1.example.com>
ProxyPass / http://192.168.002.2:8080
ProxyPassReverse / http://192.168.002.2:8080
</VirtualHost>
<VirtualHost www2.example.com>
ProxyPass / http://192.168.002.12:8088
ProxyPassReverse / http://192.168.002.12:8088
</VirtualHost>
<VirtualHost www3.example.com>
ProxyPass / http://192.168.002.10
ProxyPassReverse / http://192.168.002.10
</VirtualHost>
...
<VirtualHost www6341.example.com>
ProxyPass / http://192.168.211.26
ProxyPassReverse / http://192.168.211.26
</VirtualHost>
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
34. Mass Reverse Proxy
➡ Use the new mod_proxy_express module
➡ ProxyPass mapping obtained via db file
➡ Fast and efficient
➡ Still dynamic, with no config changes required
ProxyExpress map file
##
##express-map.db:
##
www1.example.com http://192.168.002.2:8080
www2.example.com http://192.168.002.12:8080
Www3.example.com http://102.168.002.15:8080
...
www6341.example.com http://192.168.211.26
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
35. HeartBeat / HeartMonitor
➡ New LB (load balance) method
➡ Uses multicast between gateway and reverse proxies
➡ Provides heartbeat (are you there?) capability
➡ Also provides basic load info
➡ This info stored in shm, and used for balancing
➡ Multicast can be an issue
➡ Use mod_header with %l, %i, %b (loadavg, idle, busy)
➡ but no LBmethod currently uses this :(
➡ We need a universal “load” measure
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
36. balancer-manager
➡ Embedded proxy admin web interface
➡ Allows for real-time
➡ Monitoring of stats for each worker
➡ Adjustment of worker params
➡ lbset
➡ load factor
➡ route
➡ enabled / disabled
➡ ...
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
37. Embedded Admin
➡ Allows for real-time
➡ Addition of new workers/nodes
➡ Change of LB methods
➡ Can be persistent!
➡ More RESTful
➡ Can be CLI-driven
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
38. Easy setup
<Location /balancer-manager>
SetHandler balancer-manager
Require 192.168.2.22
</Location>
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
39. Admin
Click here
Click here
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
40. Admin
Click here
Click here
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
41. Admin
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
42. Admin
Changing the
Changing the
LBmethod
LBmethod
Adding new
Adding new
worker
worker
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
43. Admin
Wow!
Wow!
Wow!
Wow!
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
44. What’s on the horizon?
➡ Extend mod_proxy_express
➡ Improving AJP
➡ Adding additional protocols
➡ More dynamic configuration
➡ Adding balancers!
➡ Even more optimized Event MPM
➡ (and re-look @ serf)
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
45. In conclusion...
➡ Performance of Apache httpd 2.4 still in the big leagues (and on
par with the “big boys” and the fanboi webserver du jure)
➡ For cloud environs, the performance and dynamic control of
Apache httpd 2.4 in reverse proxies is just what the Dr. ordered
(and flexibility remains a big strength)
➡ Architecture of Apache httpd 2.4 allows a lot of room for growth
and additional functionality (both for the cloud and not)
➡ There’s still a category of “edge cases” that require nginx,
lighttpd, G-WAN, Apache Traffic Server, etc... If that’s you, don’t
try to use Apache httpd (but if you do, provide patches!)
➡ lies, damned lies and benchmarks (sorry, statistics).
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
46. Thanks!
➡ Contact Info:
➡ Jim Jagielski
➡ jim@jaguNET.com | jim@apache.org | jimjag@redhat.com
➡ @jimjag www.jimjag.com
➡ www.slideshare.net/jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.