Created
May 12, 2022 17:46
-
-
Save adsr/33f11668ed4d3e23e1be052d413fd37c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apache 2.4.x: | |
adam@asx1c9:~/httpd$ bin/httpd -V | |
Server version: Apache/2.4.52 (Unix) | |
Server built: May 12 2022 13:13:11 | |
Server's Module Magic Number: 20120211:121 | |
Server loaded: APR 2.0.0-dev | |
Compiled using: APR 2.0.0-dev | |
Architecture: 64-bit | |
Server MPM: prefork | |
threaded: no | |
forked: yes (variable process count) | |
Server compiled with.... | |
-D APR_HAS_SENDFILE | |
-D APR_HAS_MMAP | |
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) | |
-D APR_USE_PROC_PTHREAD_SERIALIZE | |
-D APR_USE_PTHREAD_SERIALIZE | |
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT | |
-D APR_HAS_OTHER_CHILD | |
-D AP_HAVE_RELIABLE_PIPED_LOGS | |
-D DYNAMIC_MODULE_LIMIT=256 | |
-D HTTPD_ROOT="/home/adam/httpd" | |
-D SUEXEC_BIN="/home/adam/httpd/bin/suexec" | |
-D DEFAULT_PIDLOG="logs/httpd.pid" | |
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status" | |
-D DEFAULT_ERRORLOG="logs/error_log" | |
-D AP_TYPES_CONFIG_FILE="conf/mime.types" | |
-D SERVER_CONFIG_FILE="conf/httpd.conf" | |
Big htaccess files: | |
adam@asx1c9:~/httpd$ find htdocs/ | |
htdocs/ | |
htdocs/.htaccess | |
htdocs/index.html | |
htdocs/adir | |
htdocs/adir/.htaccess | |
htdocs/adir/index.html | |
htdocs/adir/bdir | |
htdocs/adir/bdir/.htaccess | |
htdocs/adir/bdir/index.html | |
adam@asx1c9:~/httpd$ ls -lh htdocs/.htaccess htdocs/adir/.htaccess htdocs/adir/bdir/.htaccess | |
-rw-r--r-- 1 adam adam 1.6M May 12 11:16 htdocs/adir/bdir/.htaccess | |
-rw-r--r-- 1 adam adam 1.6M May 12 11:16 htdocs/adir/.htaccess | |
-rw-r--r-- 1 adam adam 1.6M May 12 10:59 htdocs/.htaccess | |
Without patch (~27ms per request): | |
adam@asx1c9:~/httpd-src$ for i in $(seq 1 20); do curl -s -o /dev/null -w "http_code=%{http_code} time=%{time_total}\n" 'localhost:8080/'; done | |
http_code=200 time=0.032084 | |
http_code=200 time=0.028571 | |
http_code=200 time=0.027607 | |
http_code=200 time=0.027333 | |
http_code=200 time=0.027490 | |
http_code=200 time=0.027264 | |
http_code=200 time=0.027355 | |
http_code=200 time=0.027604 | |
http_code=200 time=0.027594 | |
http_code=200 time=0.027375 | |
http_code=200 time=0.027238 | |
http_code=200 time=0.027488 | |
http_code=200 time=0.027396 | |
http_code=200 time=0.027336 | |
http_code=200 time=0.027208 | |
http_code=200 time=0.027160 | |
http_code=200 time=0.027438 | |
http_code=200 time=0.027596 | |
http_code=200 time=0.027466 | |
http_code=200 time=0.027297 | |
adam@asx1c9:~/httpd-src$ for i in $(seq 1 20); do curl -s -o /dev/null -w "http_code=%{http_code} time=%{time_total}\n" 'localhost:8080/adir/'; done | |
http_code=200 time=0.061376 | |
http_code=200 time=0.053312 | |
http_code=200 time=0.053584 | |
http_code=200 time=0.054619 | |
http_code=200 time=0.053780 | |
http_code=200 time=0.052644 | |
http_code=200 time=0.053162 | |
http_code=200 time=0.053059 | |
http_code=200 time=0.053317 | |
http_code=200 time=0.053483 | |
http_code=200 time=0.054518 | |
http_code=200 time=0.052918 | |
http_code=200 time=0.053224 | |
http_code=200 time=0.053339 | |
http_code=200 time=0.052890 | |
http_code=200 time=0.054868 | |
http_code=200 time=0.052877 | |
http_code=200 time=0.053068 | |
http_code=200 time=0.053273 | |
http_code=200 time=0.053382 | |
adam@asx1c9:~/httpd-src$ for i in $(seq 1 20); do curl -s -o /dev/null -w "http_code=%{http_code} time=%{time_total}\n" 'localhost:8080/adir/bdir/'; done | |
http_code=200 time=0.083477 | |
http_code=200 time=0.079014 | |
http_code=200 time=0.079285 | |
http_code=200 time=0.081629 | |
http_code=200 time=0.078508 | |
http_code=200 time=0.079952 | |
http_code=200 time=0.078930 | |
http_code=200 time=0.079318 | |
http_code=200 time=0.078841 | |
http_code=200 time=0.079242 | |
http_code=200 time=0.079179 | |
http_code=200 time=0.079474 | |
http_code=200 time=0.078814 | |
http_code=200 time=0.079143 | |
http_code=200 time=0.079570 | |
http_code=200 time=0.079418 | |
http_code=200 time=0.079209 | |
http_code=200 time=0.080174 | |
http_code=200 time=0.079040 | |
http_code=200 time=0.079774 | |
With patch (~2ms per request after initial cache set): | |
https://gist.github.com/adsr/086537d66469bf0f289521a01534abbe | |
adam@asx1c9:~/httpd-src$ for i in $(seq 1 20); do curl -s -o /dev/null -w "http_code=%{http_code} time=%{time_total}\n" 'localhost:8080/'; done | |
http_code=200 time=0.034770 | |
http_code=200 time=0.001135 | |
http_code=200 time=0.001404 | |
http_code=200 time=0.001367 | |
http_code=200 time=0.001425 | |
http_code=200 time=0.001483 | |
http_code=200 time=0.001888 | |
http_code=200 time=0.001448 | |
http_code=200 time=0.001960 | |
http_code=200 time=0.001453 | |
http_code=200 time=0.001823 | |
http_code=200 time=0.001544 | |
http_code=200 time=0.002033 | |
http_code=200 time=0.001831 | |
http_code=200 time=0.002150 | |
http_code=200 time=0.002067 | |
http_code=200 time=0.003036 | |
http_code=200 time=0.002380 | |
http_code=200 time=0.002750 | |
http_code=200 time=0.002397 | |
adam@asx1c9:~/httpd-src$ for i in $(seq 1 20); do curl -s -o /dev/null -w "http_code=%{http_code} time=%{time_total}\n" 'localhost:8080/adir/'; done | |
http_code=200 time=0.033723 | |
http_code=200 time=0.001351 | |
http_code=200 time=0.001192 | |
http_code=200 time=0.001438 | |
http_code=200 time=0.001296 | |
http_code=200 time=0.001403 | |
http_code=200 time=0.001149 | |
http_code=200 time=0.001455 | |
http_code=200 time=0.001518 | |
http_code=200 time=0.001430 | |
http_code=200 time=0.001641 | |
http_code=200 time=0.001523 | |
http_code=200 time=0.001710 | |
http_code=200 time=0.001692 | |
http_code=200 time=0.001839 | |
http_code=200 time=0.001678 | |
http_code=200 time=0.001967 | |
http_code=200 time=0.002043 | |
http_code=200 time=0.001195 | |
http_code=200 time=0.001922 | |
adam@asx1c9:~/httpd-src$ for i in $(seq 1 20); do curl -s -o /dev/null -w "http_code=%{http_code} time=%{time_total}\n" 'localhost:8080/adir/bdir/'; done | |
http_code=200 time=0.032834 | |
http_code=200 time=0.001221 | |
http_code=200 time=0.001428 | |
http_code=200 time=0.001304 | |
http_code=200 time=0.001384 | |
http_code=200 time=0.001357 | |
http_code=200 time=0.001451 | |
http_code=200 time=0.001369 | |
http_code=200 time=0.001492 | |
http_code=200 time=0.001506 | |
http_code=200 time=0.001580 | |
http_code=200 time=0.001669 | |
http_code=200 time=0.001631 | |
http_code=200 time=0.001752 | |
http_code=200 time=0.001655 | |
http_code=200 time=0.001874 | |
http_code=200 time=0.001754 | |
http_code=200 time=0.001929 | |
http_code=200 time=0.001672 | |
http_code=200 time=0.002166 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment