SlideShare a Scribd company logo
1 of 36
Download to read offline
Jim Jagielski
@jimjag
Apache httpd v2.4:
Whatā€™s New,
Pussycat?
This should
be pretty good!
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
About Me
āž” Apache Software Foundation
āž” Co-founder, Director, Member and Developer
āž” Director
āž” Outercurve, MARSEC-XL, OSSI, OSI (ex)ā€¦
āž” Developer
āž” Mega FOSS projects
āž” Oā€™Reilly Open Source Award: 2013
āž” European Commission: Luminary Award
āž” Sr. Director: Tech Fellows: Capital One
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Hold on a tic
āž” How do you define ā€œnewā€??
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
httpd is sooo old school (aka
fud)
āž” Apache doesnā€™t scale (its SLOW)
āž” http://www.youtube.com/watch?v=bzkRVzciAZgā€Ø
ā€Ø
āž” Apache is too generalizedā€Ø
ā€Ø
ā€Ø
āž” Apache is too complex (config file)
āž” really?
āž” Apache is too oldā€Ø
(yeah, just like Linux)
@jimjag
vs
Itā€™s Squagels!
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Apache httpd 2.4 - design drivers
āž” New features and improve old ones
āž” Support for async I/O w/o dropping support for older
systems
āž” Larger selection of usable MPMs: added Event, Motorz,
etc...
āž” Leverage higher-performant versions of APR
āž” Increase performance
āž” Reduce memory utilization
āž” The Cloud
@jimjag
Currently at version 2.4.23 (2.4.1 went GA Feb 21, 2012)
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Whatā€™s New: Apache httpd 2.4
āž” Configuration / Runtime Improvements
āž” New Modules / Capabilities
āž” Cloud / Proxy Enhancements
āž” Performance Increases
āž” HTTP/2
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Conļ¬guration - Runtime
āž” 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])
@jimjag
LogLevel info ssl:warn
<Directory "/usr/local/apache/htdocs/foo">
LogLevel debug
</Directory>
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Conļ¬guration - Runtime
āž” Other stuff:
āž” No more NameVirtualHost
āž” General purpose expression parser (BNF compatible)
āž” AllowOverrideListā€Ø
ā€Ø
ā€Ø
āž” Loadable MPM modules
āž” Recall that different MPMs have different config directives!
@jimjag
AllowOverride None
AllowOverrideList Redirect RedirectMatch Header
./configure ā€”enable-mpms-shared=all
LoadModule mpm_event_module modules/mod_mpm_event.so
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Conļ¬guration - Runtime
āž” Require
āž” Removes order deny/allow insanity!
āž” mod_access_compat for backwards combat
@jimjag
AuthType Basic
AuthName "Restricted Resource"
AuthBasicProvider file
AuthUserFile /web/users
AuthGroupFile /web/groups
Require group admin
<Directory /www/docs>
<RequireAll>
Require group alpha beta
Require not group reject
</RequireAll>
</Directory>
<Directory /www/docs2>
Require all granted
</Directory>
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
New Modules
āž” mod_macro
@jimjag
<Macro VHost $name $domain>
<VirtualHost *:80>
ServerName $domain
ServerAlias www.$domain
DocumentRoot /var/www/vhosts/$name
ErrorLog /var/log/httpd/$name.error_log
CustomLog /var/log/httpd/$name.access_log combined
</VirtualHost>
</Macro>
Use VHost example example.com
Use VHost myhost hostname.org
Use VHost apache apache.org
UndefMacro VHost
From my
ApacheCon 2000
Preso
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Conļ¬guration - Runtime
āž” <If> supports per-request conditions
@jimjag
# Compare the host name to example.com and
# redirect to www.example.com if it matches
<If "%{HTTP_HOST} == 'example.com'">
Redirect permanent / http://www.example.com/
<ElseIf "%{HTTP_HOST} == ā€˜foobarfoo.com'">
Redirect permanent / http://www2.example.com/
</If>
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Conļ¬guration - Runtime
āž” Simple config-file variables: <Define>
@jimjag
<IfDefine TEST>
Define servername test.example.com
</IfDefine>
<IfDefine !TEST>
Define servername www.example.com
Define SSL
</IfDefine>
DocumentRoot /var/www/${servername}/htdocs
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
New Modules
āž” mod_lua
@jimjag
<Files *.lua>
SetHandler lua-script
</Files>
ā€¦
example.lua
require "string"
function handle(r)
r.content_type = "text/plain"
if r.method == 'GET' then
r:puts("Hello Lua World!n")
for k, v in pairs( r:parseargs() ) do
r:puts( string.format("%s: %sn", k, v) )
end
elseif r.method == 'POST' then
r:puts("Hello Lua World!n")
for k, v in pairs( r:parsebody() ) do
r:puts( string.format("%s: %sn", k, v) )
end
elseif r.method == 'PUT' then
r:puts("Unsupported HTTP method " .. r.method)
r.status = 405
return apache2.ok
else
return 501
end
return apache2.OK
end
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
New Modules
āž” mod_buffer
āž” buffer the i/o stacks w/i httpd
āž” mod_sed
āž” True sed functionality, alternate to mod_substituteā€Ø
ā€Ø
ā€Ø
ā€Ø
ā€Ø
āž” mod_remoteip
āž” allow access to the real client IP address
@jimjag
<Directory "/var/www/docs/status">
AddOutputFilter Sed html
OutputSed "s/complete/DONE/g"
OutputSed ā€œs/in-progress/TODO/g"
</Directory>
RemoteIPHeader X-Client-IP
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
New Modules
āž” mod_session
āž” easily maintain application server state
āž” mod_auth_form
āž” Form-based auth can now be handled internally
@jimjag
<Location /dologin.html>
SetHandler form-login-handler
AuthFormLoginRequiredLocation http://example.com/login.html
AuthFormLoginSuccessLocation http://example.com/success.html
AuthFormProvider file
AuthUserFile conf/passwd
AuthType form
AuthName realm
Session On
SessionCookieName session path=/
SessionCryptoPassphrase secret
</Location>
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
New Modules
āž” mod_log_debug
āž” Add debug logging at any hookā€Ø
ā€Ø
ā€Ø
ā€Ø
āž” mod_ratelimit
āž” (basic) bandwidth limiting for clients
@jimjag
<Location /foo>
LogMessage ā€œsubreq to fooā€ hook=type_checker expr=%{IS_SUBREQ}
</Location>
<Location /downloads>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 400
</Location>
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Even more!
āž” mod_cache
āž” Can serve stale data if required
āž” X-Cache-Header now supports HIT/MISS/
REVALIDATE
āž” Can cache HEAD
āž” htcacheclean improvements
āž” mod_socache / mod_slotmem
āž” Data object/blog storage mechanisms
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
New Modules
āž” mod_proxy submodules:
āž” mod_proxy_fcgi
āž” mod_proxy_scgi
āž” mod_proxy_wstunnel
āž” mod_proxy_html
āž” mod_proxy_express
@jimjag
ProxyExpressEnable onā€Ø
ProxyExpressDBMFile emap
ā€¦
##ā€Ø
##express-map.txt: httxt2dbm -i express-map.txt -o emapā€Ø
##ā€Ø
ā€Ø
www1.example.com http://192.168.002.2:8080ā€Ø
www2.example.com http://192.168.002.12:8088ā€Ø
www3.example.com http://192.168.002.10
...
www6341.example.com http://192.168.211.26
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
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!
āž” micro-services
āž” 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)
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
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
@jimjag
OK, maybe not THAT self-aware
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
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
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Apache httpd 2.4 proxy
āž” Reverse Proxy Improvements
āž” Supports FastCGI, SCGI, Websockets in balancer
āž” Additional load balancing mechanisms
āž” Runtime changing of clusters w/o restarts
āž” Support for dynamic configuration
āž” mod_proxy_express
āž” mod_fcgid and fcgistarter
āž” Brand New: Support for Unix Domain Sockets
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Performance
āž” From Nic Rosenthal Battle of the stacksā€Ø
(http://www.slideshare.net/AllThingsOpen/battle-of-the-stacks)
@jimjag
HHVM + NGINX!
!
vs!
!
HHVM + Apache 2.4!
!
http://ldr.io/1ogvD7X
http://ldr.io/1ogD7b3
Response time: 76ms
Response time: 60ms
HHVM + NGINX
HHVM + Apache 2.4
Image by Articularnos.com https://www.ļ¬‚ickr.com/photos/articularnos/
Champion of the !
Battle Of The Stacks
ATO Edition
HHVM + Apache 2.4
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Raw Performance
āž” Event MPM : no longer experimental
āž” non-blocking
āž” async
āž” Faster, more efficient APR
āž” Smaller memory footprint
āž” More efficient data structures (worker and event)
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Apache httpd vs nginx
āž” Why nginx? Everyone asks about it...
āž” Benchmark: local and reverse proxy transaction times
āž” Apache httpd 2.4.22-dev, nginx 1.8.1
āž” CentOS6, Dual Xeon 3.33GHz
āž” 4GB memory
āž” localhost loopback and external (no firewall)
āž” Double checked results: OSX 10.11.2 (8-core), Fedora 23 (4-
core)
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Setup
loopbackSetup 1:
Setup 2:
Setup 3:
Setup 3:
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
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,100)
āž” weighttp
āž” 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)
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
nginx vs Event (typical)
Apache - Event MPM
0
500
1000
1500
2000
nginx
0
500
1,000
1,500
2,000
Open Write Read Close
Increasing concurrency Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Apache - Prefork MPM
0
500
1000
1500
2000
nginx vs Prefork (typical)
nginx
0
500
1,000
1,500
2,000
Open Write Read Close
Increasing concurrency Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Total req/resp time
Comparison - total transaction (close)
0
500
1000
1500
2000
Prefork Worker Event nginx
Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Resp to Req. Bursts - httperf
100 ---> 20000
0.00
1.75
3.50
5.25
7.00
min avg max dev min avg max dev min avg max dev min avg max dev min avg max dev min avg max dev
prefork worker event nginx
Increasing concurrency
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Independent benchmarks
Source: Ryosuke Matsumoto : http://blog.matsumoto-r.jp/?p=1812
#!/bin/sh
RESULT='./result.txt'
Ā 
for port in 80 8080 8888
do
#for count in 1000 2000 3000 4000 5000 6000 7000 8000
9000 10000
#for count in 11000 12000 13000 14000 15000 16000 17000
18000 19000 20000
for count in 21000 22000 23000 24000 25000 26000 27000
28000 29000 30000
do
echo -n "$port $count " >> $RESULT
httperf --rate $count --num-conns 25000 --server
ipaddr --port $port 
--uri=/test.html | grep "Request rate:" >>
$RESULT.$port
sleep 60
done
done
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Take-away
āž” Today, the web-server isnā€™t the slow link in the chain.
āž” Benchmarks get staleā€¦ fast!
āž” Real world trumps test environs
āž” Choose the right tool for the right job
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
HTTP/2
āž” Implements RFC 7540
āž” Supports both h2 (HTTP/2 over TLS) and h2c (HTTP/2 over TCP[cleartext])
āž” ā€œSemi-experimentalā€
āž” Only in that API is still subject to change
āž” Enterprise-ready regarding stability, performance, etc.
āž” Also supported in mod_proxy
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Whatā€™s next?
āž” TCP Proxy
āž” Better async support
āž” More MPMs
āž” motorz:
āž” Streamlined event driven MPM
āž” Prelim benchmarks: 10% faster, 70% the size
āž” Strict HTTP compliance
āž” You tell us!
@jimjag
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
Thanks
Twitter: @jimjag
Emails:ā€Ø
jim@jaguNET.comā€Ø
jim@apache.orgā€Ø
jim.jagielski@capitalone.com
http://www.slideshare.net/jimjag/

More Related Content

What's hot

Reverse proxy magic
Reverse proxy magicReverse proxy magic
Reverse proxy magicJim Jagielski
Ā 
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...Peter Moskovits
Ā 
HTML5 WebSocket for the Real-Time Web and the Internet of Things
HTML5 WebSocket for the Real-Time Weband the Internet of ThingsHTML5 WebSocket for the Real-Time Weband the Internet of Things
HTML5 WebSocket for the Real-Time Web and the Internet of ThingsPeter Moskovits
Ā 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowWordPress
Ā 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket IntroductionMarcelo Jabali
Ā 
Business of Front-end Web Development
Business of Front-end Web DevelopmentBusiness of Front-end Web Development
Business of Front-end Web DevelopmentRachel Andrew
Ā 
How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...Matt Raible
Ā 
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013Bastian Grimm
Ā 
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTWebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTFrank Greco
Ā 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptChristian Heilmann
Ā 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)Peter Lubbers
Ā 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web FrameworkWill Iverson
Ā 
čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)
čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)
čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)Jollen Chen
Ā 
PageSpeed and SPDY
PageSpeed and SPDYPageSpeed and SPDY
PageSpeed and SPDYBlake Crosby
Ā 
Mehr Performance fĆ¼r WordPress - WPFra
Mehr Performance fĆ¼r WordPress - WPFraMehr Performance fĆ¼r WordPress - WPFra
Mehr Performance fĆ¼r WordPress - WPFraWalter Ebert
Ā 
V2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketV2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketbrent bucci
Ā 
Web App Security for Java Developers - UberConf 2021
Web App Security for Java Developers - UberConf 2021Web App Security for Java Developers - UberConf 2021
Web App Security for Java Developers - UberConf 2021Matt Raible
Ā 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationJustin Dorfman
Ā 
[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web DesignChristopher Schmitt
Ā 
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client ManagerDrupalDay
Ā 

What's hot (20)

Reverse proxy magic
Reverse proxy magicReverse proxy magic
Reverse proxy magic
Ā 
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...
Ā 
HTML5 WebSocket for the Real-Time Web and the Internet of Things
HTML5 WebSocket for the Real-Time Weband the Internet of ThingsHTML5 WebSocket for the Real-Time Weband the Internet of Things
HTML5 WebSocket for the Real-Time Web and the Internet of Things
Ā 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
Ā 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction
Ā 
Business of Front-end Web Development
Business of Front-end Web DevelopmentBusiness of Front-end Web Development
Business of Front-end Web Development
Ā 
How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...
Ā 
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
Ā 
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTWebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
Ā 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
Ā 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
Ā 
Choosing a Java Web Framework
Choosing a Java Web FrameworkChoosing a Java Web Framework
Choosing a Java Web Framework
Ā 
čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)
čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)
čŖ²ē؋名ēرļ¼šå…«å±äø€é›²ę™‚代來č‡Ø ę•™ä½ HTML5å…­å°ę™‚ę‰“é€š(3)
Ā 
PageSpeed and SPDY
PageSpeed and SPDYPageSpeed and SPDY
PageSpeed and SPDY
Ā 
Mehr Performance fĆ¼r WordPress - WPFra
Mehr Performance fĆ¼r WordPress - WPFraMehr Performance fĆ¼r WordPress - WPFra
Mehr Performance fĆ¼r WordPress - WPFra
Ā 
V2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketV2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocket
Ā 
Web App Security for Java Developers - UberConf 2021
Web App Security for Java Developers - UberConf 2021Web App Security for Java Developers - UberConf 2021
Web App Security for Java Developers - UberConf 2021
Ā 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
Ā 
[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design
Ā 
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
Ā 

Similar to What's New and Newer in Apache httpd-24

ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4Jim Jagielski
Ā 
ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4Jim Jagielski
Ā 
ApacheCon 2017: What's new in httpd 2.4
ApacheCon 2017: What's new in httpd 2.4ApacheCon 2017: What's new in httpd 2.4
ApacheCon 2017: What's new in httpd 2.4Jim Jagielski
Ā 
Apache httpd 2.4: The Cloud Killer App
Apache httpd 2.4: The Cloud Killer AppApache httpd 2.4: The Cloud Killer App
Apache httpd 2.4: The Cloud Killer AppJim Jagielski
Ā 
Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Jim Jagielski
Ā 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindSam Keen
Ā 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
Ā 
Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018Thijs Feryn
Ā 
Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018Codemotion
Ā 
Mongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricksMongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricksVladimir Malyk
Ā 
Developing with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaDeveloping with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaJoe Stein
Ā 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101Angus Li
Ā 
Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Thijs Feryn
Ā 
Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Jeff Jones
Ā 
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Tatsuhiko Miyagawa
Ā 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalabilityWim Godden
Ā 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on SteroidsSiteGround.com
Ā 
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversPlack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversTatsuhiko Miyagawa
Ā 

Similar to What's New and Newer in Apache httpd-24 (20)

ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4
Ā 
ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4
Ā 
Apache httpd v2.4
Apache httpd v2.4Apache httpd v2.4
Apache httpd v2.4
Ā 
ApacheCon 2017: What's new in httpd 2.4
ApacheCon 2017: What's new in httpd 2.4ApacheCon 2017: What's new in httpd 2.4
ApacheCon 2017: What's new in httpd 2.4
Ā 
Apache httpd 2.4: The Cloud Killer App
Apache httpd 2.4: The Cloud Killer AppApache httpd 2.4: The Cloud Killer App
Apache httpd 2.4: The Cloud Killer App
Ā 
Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!
Ā 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
Ā 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Ā 
Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Codemotion Rome 2018
Ā 
Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018
Leverage HTTP to deliver cacheable websites - Thijs Feryn - Codemotion Rome 2018
Ā 
Mongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricksMongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricks
Ā 
Developing with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaDeveloping with the Go client for Apache Kafka
Developing with the Go client for Apache Kafka
Ā 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101
Ā 
Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018Developing cacheable PHP applications - PHPLimburgBE 2018
Developing cacheable PHP applications - PHPLimburgBE 2018
Ā 
Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!
Ā 
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
Ā 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
Ā 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
Ā 
PHP Development Tools
PHP  Development ToolsPHP  Development Tools
PHP Development Tools
Ā 
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and serversPlack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
Ā 

More from Jim Jagielski

OSPOS: AllThingsOpen 2023
OSPOS: AllThingsOpen 2023OSPOS: AllThingsOpen 2023
OSPOS: AllThingsOpen 2023Jim Jagielski
Ā 
Open Source Licenses and IP Overview
Open Source Licenses and IP OverviewOpen Source Licenses and IP Overview
Open Source Licenses and IP OverviewJim Jagielski
Ā 
The History of The Apache Software Foundation
The History of The Apache Software FoundationThe History of The Apache Software Foundation
The History of The Apache Software FoundationJim Jagielski
Ā 
The Apache Way
The Apache WayThe Apache Way
The Apache WayJim Jagielski
Ā 
Starting an Open Source Program Office
Starting an Open Source Program OfficeStarting an Open Source Program Office
Starting an Open Source Program OfficeJim Jagielski
Ā 
InnerSource 101 for FinTech and FinServ
InnerSource 101 for FinTech and FinServInnerSource 101 for FinTech and FinServ
InnerSource 101 for FinTech and FinServJim Jagielski
Ā 
All Things Open 2017: Open Source Licensing
All Things Open 2017: Open Source LicensingAll Things Open 2017: Open Source Licensing
All Things Open 2017: Open Source LicensingJim Jagielski
Ā 
All Things Open 2017: The Apache Software Foundation 101
All Things Open 2017: The Apache Software Foundation 101All Things Open 2017: The Apache Software Foundation 101
All Things Open 2017: The Apache Software Foundation 101Jim Jagielski
Ā 
All Things Open 2017: Foundations of Inner Source
All Things Open 2017: Foundations of Inner SourceAll Things Open 2017: Foundations of Inner Source
All Things Open 2017: Foundations of Inner SourceJim Jagielski
Ā 
ApacheCon 2017: InnerSource and The Apache Way
ApacheCon 2017: InnerSource and The Apache WayApacheCon 2017: InnerSource and The Apache Way
ApacheCon 2017: InnerSource and The Apache WayJim Jagielski
Ā 
Open Source Licensing 101
Open Source Licensing 101Open Source Licensing 101
Open Source Licensing 101Jim Jagielski
Ā 
InnerSource 101 and The Apache Way
InnerSource 101 and The Apache WayInnerSource 101 and The Apache Way
InnerSource 101 and The Apache WayJim Jagielski
Ā 
Open source101 licenses
Open source101 licensesOpen source101 licenses
Open source101 licensesJim Jagielski
Ā 
Keynote from the Open Source 101 Conference
Keynote from the Open Source 101 ConferenceKeynote from the Open Source 101 Conference
Keynote from the Open Source 101 ConferenceJim Jagielski
Ā 
InnerSource: Enterprise Lessons from Open Source
InnerSource: Enterprise Lessons from Open SourceInnerSource: Enterprise Lessons from Open Source
InnerSource: Enterprise Lessons from Open SourceJim Jagielski
Ā 
ApacheCon EU 2016 State of the Feather
ApacheCon EU 2016 State of the FeatherApacheCon EU 2016 State of the Feather
ApacheCon EU 2016 State of the FeatherJim Jagielski
Ā 
Open Source Licensing and Governance
Open Source Licensing and GovernanceOpen Source Licensing and Governance
Open Source Licensing and GovernanceJim Jagielski
Ā 
Inner Source: Enterprise Lessons from the Open Source Community.
Inner Source: Enterprise Lessons from the Open Source Community.Inner Source: Enterprise Lessons from the Open Source Community.
Inner Source: Enterprise Lessons from the Open Source Community.Jim Jagielski
Ā 
Why Community Matters
Why Community MattersWhy Community Matters
Why Community MattersJim Jagielski
Ā 
Inner Source 101 - GWO2016
Inner Source 101 - GWO2016Inner Source 101 - GWO2016
Inner Source 101 - GWO2016Jim Jagielski
Ā 

More from Jim Jagielski (20)

OSPOS: AllThingsOpen 2023
OSPOS: AllThingsOpen 2023OSPOS: AllThingsOpen 2023
OSPOS: AllThingsOpen 2023
Ā 
Open Source Licenses and IP Overview
Open Source Licenses and IP OverviewOpen Source Licenses and IP Overview
Open Source Licenses and IP Overview
Ā 
The History of The Apache Software Foundation
The History of The Apache Software FoundationThe History of The Apache Software Foundation
The History of The Apache Software Foundation
Ā 
The Apache Way
The Apache WayThe Apache Way
The Apache Way
Ā 
Starting an Open Source Program Office
Starting an Open Source Program OfficeStarting an Open Source Program Office
Starting an Open Source Program Office
Ā 
InnerSource 101 for FinTech and FinServ
InnerSource 101 for FinTech and FinServInnerSource 101 for FinTech and FinServ
InnerSource 101 for FinTech and FinServ
Ā 
All Things Open 2017: Open Source Licensing
All Things Open 2017: Open Source LicensingAll Things Open 2017: Open Source Licensing
All Things Open 2017: Open Source Licensing
Ā 
All Things Open 2017: The Apache Software Foundation 101
All Things Open 2017: The Apache Software Foundation 101All Things Open 2017: The Apache Software Foundation 101
All Things Open 2017: The Apache Software Foundation 101
Ā 
All Things Open 2017: Foundations of Inner Source
All Things Open 2017: Foundations of Inner SourceAll Things Open 2017: Foundations of Inner Source
All Things Open 2017: Foundations of Inner Source
Ā 
ApacheCon 2017: InnerSource and The Apache Way
ApacheCon 2017: InnerSource and The Apache WayApacheCon 2017: InnerSource and The Apache Way
ApacheCon 2017: InnerSource and The Apache Way
Ā 
Open Source Licensing 101
Open Source Licensing 101Open Source Licensing 101
Open Source Licensing 101
Ā 
InnerSource 101 and The Apache Way
InnerSource 101 and The Apache WayInnerSource 101 and The Apache Way
InnerSource 101 and The Apache Way
Ā 
Open source101 licenses
Open source101 licensesOpen source101 licenses
Open source101 licenses
Ā 
Keynote from the Open Source 101 Conference
Keynote from the Open Source 101 ConferenceKeynote from the Open Source 101 Conference
Keynote from the Open Source 101 Conference
Ā 
InnerSource: Enterprise Lessons from Open Source
InnerSource: Enterprise Lessons from Open SourceInnerSource: Enterprise Lessons from Open Source
InnerSource: Enterprise Lessons from Open Source
Ā 
ApacheCon EU 2016 State of the Feather
ApacheCon EU 2016 State of the FeatherApacheCon EU 2016 State of the Feather
ApacheCon EU 2016 State of the Feather
Ā 
Open Source Licensing and Governance
Open Source Licensing and GovernanceOpen Source Licensing and Governance
Open Source Licensing and Governance
Ā 
Inner Source: Enterprise Lessons from the Open Source Community.
Inner Source: Enterprise Lessons from the Open Source Community.Inner Source: Enterprise Lessons from the Open Source Community.
Inner Source: Enterprise Lessons from the Open Source Community.
Ā 
Why Community Matters
Why Community MattersWhy Community Matters
Why Community Matters
Ā 
Inner Source 101 - GWO2016
Inner Source 101 - GWO2016Inner Source 101 - GWO2016
Inner Source 101 - GWO2016
Ā 

Recently uploaded

Chennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts serviceChennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts servicevipmodelshub1
Ā 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
Ā 
ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...
ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...
ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...Diya Sharma
Ā 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
Ā 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
Ā 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
Ā 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
Ā 
Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012
Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012
Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012rehmti665
Ā 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
Ā 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
Ā 
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneRussian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneCall girls in Ahmedabad High profile
Ā 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
Ā 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
Ā 
Chennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts serviceChennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts servicesonalikaur4
Ā 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
Ā 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
Ā 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
Ā 
Call Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on Delivery
Call Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on DeliveryCall Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on Delivery
Call Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on Deliverybabeytanya
Ā 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
Ā 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
Ā 

Recently uploaded (20)

Chennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts serviceChennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Ā 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Ā 
ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...
ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...
ā‚¹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] šŸ”|97111...
Ā 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
Ā 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
Ā 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
Ā 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Ā 
Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012
Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012
Call Girls South Delhi Delhi reach out to us at ā˜Ž 9711199012
Ā 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
Ā 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Ā 
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneRussian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Ā 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
Ā 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
Ā 
Chennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts serviceChennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Chennai Call Girls Porur Phone šŸ† 8250192130 šŸ‘… celebrity escorts service
Ā 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Ā 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
Ā 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
Ā 
Call Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on Delivery
Call Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on DeliveryCall Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on Delivery
Call Girls In Mumbai Central Mumbai ā¤ļø 9920874524 šŸ‘ˆ Cash on Delivery
Ā 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Ā 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
Ā 

What's New and Newer in Apache httpd-24

  • 1. Jim Jagielski @jimjag Apache httpd v2.4: Whatā€™s New, Pussycat? This should be pretty good!
  • 2. This work is licensed under a Creative Commons Attribution 3.0 Unported License. About Me āž” Apache Software Foundation āž” Co-founder, Director, Member and Developer āž” Director āž” Outercurve, MARSEC-XL, OSSI, OSI (ex)ā€¦ āž” Developer āž” Mega FOSS projects āž” Oā€™Reilly Open Source Award: 2013 āž” European Commission: Luminary Award āž” Sr. Director: Tech Fellows: Capital One @jimjag
  • 3. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Hold on a tic āž” How do you define ā€œnewā€?? @jimjag
  • 4. This work is licensed under a Creative Commons Attribution 3.0 Unported License. httpd is sooo old school (aka fud) āž” Apache doesnā€™t scale (its SLOW) āž” http://www.youtube.com/watch?v=bzkRVzciAZgā€Ø ā€Ø āž” Apache is too generalizedā€Ø ā€Ø ā€Ø āž” Apache is too complex (config file) āž” really? āž” Apache is too oldā€Ø (yeah, just like Linux) @jimjag vs Itā€™s Squagels!
  • 5. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Apache httpd 2.4 - design drivers āž” New features and improve old ones āž” Support for async I/O w/o dropping support for older systems āž” Larger selection of usable MPMs: added Event, Motorz, etc... āž” Leverage higher-performant versions of APR āž” Increase performance āž” Reduce memory utilization āž” The Cloud @jimjag Currently at version 2.4.23 (2.4.1 went GA Feb 21, 2012)
  • 6. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Whatā€™s New: Apache httpd 2.4 āž” Configuration / Runtime Improvements āž” New Modules / Capabilities āž” Cloud / Proxy Enhancements āž” Performance Increases āž” HTTP/2 @jimjag
  • 7. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Conļ¬guration - Runtime āž” 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]) @jimjag LogLevel info ssl:warn <Directory "/usr/local/apache/htdocs/foo"> LogLevel debug </Directory>
  • 8. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Conļ¬guration - Runtime āž” Other stuff: āž” No more NameVirtualHost āž” General purpose expression parser (BNF compatible) āž” AllowOverrideListā€Ø ā€Ø ā€Ø āž” Loadable MPM modules āž” Recall that different MPMs have different config directives! @jimjag AllowOverride None AllowOverrideList Redirect RedirectMatch Header ./configure ā€”enable-mpms-shared=all LoadModule mpm_event_module modules/mod_mpm_event.so
  • 9. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Conļ¬guration - Runtime āž” Require āž” Removes order deny/allow insanity! āž” mod_access_compat for backwards combat @jimjag AuthType Basic AuthName "Restricted Resource" AuthBasicProvider file AuthUserFile /web/users AuthGroupFile /web/groups Require group admin <Directory /www/docs> <RequireAll> Require group alpha beta Require not group reject </RequireAll> </Directory> <Directory /www/docs2> Require all granted </Directory>
  • 10. This work is licensed under a Creative Commons Attribution 3.0 Unported License. New Modules āž” mod_macro @jimjag <Macro VHost $name $domain> <VirtualHost *:80> ServerName $domain ServerAlias www.$domain DocumentRoot /var/www/vhosts/$name ErrorLog /var/log/httpd/$name.error_log CustomLog /var/log/httpd/$name.access_log combined </VirtualHost> </Macro> Use VHost example example.com Use VHost myhost hostname.org Use VHost apache apache.org UndefMacro VHost From my ApacheCon 2000 Preso
  • 11. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Conļ¬guration - Runtime āž” <If> supports per-request conditions @jimjag # Compare the host name to example.com and # redirect to www.example.com if it matches <If "%{HTTP_HOST} == 'example.com'"> Redirect permanent / http://www.example.com/ <ElseIf "%{HTTP_HOST} == ā€˜foobarfoo.com'"> Redirect permanent / http://www2.example.com/ </If>
  • 12. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Conļ¬guration - Runtime āž” Simple config-file variables: <Define> @jimjag <IfDefine TEST> Define servername test.example.com </IfDefine> <IfDefine !TEST> Define servername www.example.com Define SSL </IfDefine> DocumentRoot /var/www/${servername}/htdocs
  • 13. This work is licensed under a Creative Commons Attribution 3.0 Unported License. New Modules āž” mod_lua @jimjag <Files *.lua> SetHandler lua-script </Files> ā€¦ example.lua require "string" function handle(r) r.content_type = "text/plain" if r.method == 'GET' then r:puts("Hello Lua World!n") for k, v in pairs( r:parseargs() ) do r:puts( string.format("%s: %sn", k, v) ) end elseif r.method == 'POST' then r:puts("Hello Lua World!n") for k, v in pairs( r:parsebody() ) do r:puts( string.format("%s: %sn", k, v) ) end elseif r.method == 'PUT' then r:puts("Unsupported HTTP method " .. r.method) r.status = 405 return apache2.ok else return 501 end return apache2.OK end
  • 14. This work is licensed under a Creative Commons Attribution 3.0 Unported License. New Modules āž” mod_buffer āž” buffer the i/o stacks w/i httpd āž” mod_sed āž” True sed functionality, alternate to mod_substituteā€Ø ā€Ø ā€Ø ā€Ø ā€Ø āž” mod_remoteip āž” allow access to the real client IP address @jimjag <Directory "/var/www/docs/status"> AddOutputFilter Sed html OutputSed "s/complete/DONE/g" OutputSed ā€œs/in-progress/TODO/g" </Directory> RemoteIPHeader X-Client-IP
  • 15. This work is licensed under a Creative Commons Attribution 3.0 Unported License. New Modules āž” mod_session āž” easily maintain application server state āž” mod_auth_form āž” Form-based auth can now be handled internally @jimjag <Location /dologin.html> SetHandler form-login-handler AuthFormLoginRequiredLocation http://example.com/login.html AuthFormLoginSuccessLocation http://example.com/success.html AuthFormProvider file AuthUserFile conf/passwd AuthType form AuthName realm Session On SessionCookieName session path=/ SessionCryptoPassphrase secret </Location>
  • 16. This work is licensed under a Creative Commons Attribution 3.0 Unported License. New Modules āž” mod_log_debug āž” Add debug logging at any hookā€Ø ā€Ø ā€Ø ā€Ø āž” mod_ratelimit āž” (basic) bandwidth limiting for clients @jimjag <Location /foo> LogMessage ā€œsubreq to fooā€ hook=type_checker expr=%{IS_SUBREQ} </Location> <Location /downloads> SetOutputFilter RATE_LIMIT SetEnv rate-limit 400 </Location>
  • 17. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Even more! āž” mod_cache āž” Can serve stale data if required āž” X-Cache-Header now supports HIT/MISS/ REVALIDATE āž” Can cache HEAD āž” htcacheclean improvements āž” mod_socache / mod_slotmem āž” Data object/blog storage mechanisms @jimjag
  • 18. This work is licensed under a Creative Commons Attribution 3.0 Unported License. New Modules āž” mod_proxy submodules: āž” mod_proxy_fcgi āž” mod_proxy_scgi āž” mod_proxy_wstunnel āž” mod_proxy_html āž” mod_proxy_express @jimjag ProxyExpressEnable onā€Ø ProxyExpressDBMFile emap ā€¦ ##ā€Ø ##express-map.txt: httxt2dbm -i express-map.txt -o emapā€Ø ##ā€Ø ā€Ø www1.example.com http://192.168.002.2:8080ā€Ø www2.example.com http://192.168.002.12:8088ā€Ø www3.example.com http://192.168.002.10 ... www6341.example.com http://192.168.211.26
  • 19. This work is licensed under a Creative Commons Attribution 3.0 Unported License. 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! āž” micro-services āž” 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) @jimjag
  • 20. This work is licensed under a Creative Commons Attribution 3.0 Unported License. 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 @jimjag OK, maybe not THAT self-aware
  • 21. This work is licensed under a Creative Commons Attribution 3.0 Unported License. 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 @jimjag
  • 22. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Apache httpd 2.4 proxy āž” Reverse Proxy Improvements āž” Supports FastCGI, SCGI, Websockets in balancer āž” Additional load balancing mechanisms āž” Runtime changing of clusters w/o restarts āž” Support for dynamic configuration āž” mod_proxy_express āž” mod_fcgid and fcgistarter āž” Brand New: Support for Unix Domain Sockets @jimjag
  • 23. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Performance āž” From Nic Rosenthal Battle of the stacksā€Ø (http://www.slideshare.net/AllThingsOpen/battle-of-the-stacks) @jimjag HHVM + NGINX! ! vs! ! HHVM + Apache 2.4! ! http://ldr.io/1ogvD7X http://ldr.io/1ogD7b3 Response time: 76ms Response time: 60ms HHVM + NGINX HHVM + Apache 2.4 Image by Articularnos.com https://www.ļ¬‚ickr.com/photos/articularnos/ Champion of the ! Battle Of The Stacks ATO Edition HHVM + Apache 2.4
  • 24. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Raw Performance āž” Event MPM : no longer experimental āž” non-blocking āž” async āž” Faster, more efficient APR āž” Smaller memory footprint āž” More efficient data structures (worker and event) @jimjag
  • 25. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Apache httpd vs nginx āž” Why nginx? Everyone asks about it... āž” Benchmark: local and reverse proxy transaction times āž” Apache httpd 2.4.22-dev, nginx 1.8.1 āž” CentOS6, Dual Xeon 3.33GHz āž” 4GB memory āž” localhost loopback and external (no firewall) āž” Double checked results: OSX 10.11.2 (8-core), Fedora 23 (4- core) @jimjag
  • 26. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Setup loopbackSetup 1: Setup 2: Setup 3: Setup 3:
  • 27. This work is licensed under a Creative Commons Attribution 3.0 Unported License. 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,100) āž” weighttp āž” 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) @jimjag
  • 28. This work is licensed under a Creative Commons Attribution 3.0 Unported License. nginx vs Event (typical) Apache - Event MPM 0 500 1000 1500 2000 nginx 0 500 1,000 1,500 2,000 Open Write Read Close Increasing concurrency Increasing concurrency
  • 29. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Apache - Prefork MPM 0 500 1000 1500 2000 nginx vs Prefork (typical) nginx 0 500 1,000 1,500 2,000 Open Write Read Close Increasing concurrency Increasing concurrency
  • 30. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Total req/resp time Comparison - total transaction (close) 0 500 1000 1500 2000 Prefork Worker Event nginx Increasing concurrency
  • 31. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Resp to Req. Bursts - httperf 100 ---> 20000 0.00 1.75 3.50 5.25 7.00 min avg max dev min avg max dev min avg max dev min avg max dev min avg max dev min avg max dev prefork worker event nginx Increasing concurrency
  • 32. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Independent benchmarks Source: Ryosuke Matsumoto : http://blog.matsumoto-r.jp/?p=1812 #!/bin/sh RESULT='./result.txt' Ā  for port in 80 8080 8888 do #for count in 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 #for count in 11000 12000 13000 14000 15000 16000 17000 18000 19000 20000 for count in 21000 22000 23000 24000 25000 26000 27000 28000 29000 30000 do echo -n "$port $count " >> $RESULT httperf --rate $count --num-conns 25000 --server ipaddr --port $port --uri=/test.html | grep "Request rate:" >> $RESULT.$port sleep 60 done done
  • 33. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Take-away āž” Today, the web-server isnā€™t the slow link in the chain. āž” Benchmarks get staleā€¦ fast! āž” Real world trumps test environs āž” Choose the right tool for the right job @jimjag
  • 34. This work is licensed under a Creative Commons Attribution 3.0 Unported License. HTTP/2 āž” Implements RFC 7540 āž” Supports both h2 (HTTP/2 over TLS) and h2c (HTTP/2 over TCP[cleartext]) āž” ā€œSemi-experimentalā€ āž” Only in that API is still subject to change āž” Enterprise-ready regarding stability, performance, etc. āž” Also supported in mod_proxy @jimjag
  • 35. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Whatā€™s next? āž” TCP Proxy āž” Better async support āž” More MPMs āž” motorz: āž” Streamlined event driven MPM āž” Prelim benchmarks: 10% faster, 70% the size āž” Strict HTTP compliance āž” You tell us! @jimjag
  • 36. This work is licensed under a Creative Commons Attribution 3.0 Unported License. Thanks Twitter: @jimjag Emails:ā€Ø jim@jaguNET.comā€Ø jim@apache.orgā€Ø jim.jagielski@capitalone.com http://www.slideshare.net/jimjag/