Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking *.org (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx
Server Hostname: *.org
Server Port: 80
Document Path: /
Document Length: 22307 bytes
Concurrency Level: 1000
Time taken for tests: 4.959 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 228906082 bytes
HTML transferred: 226318546 bytes
Requests per second: 2016.42 [#/sec] (mean)
Time per request: 495.928 [ms] (mean)
Time per request: 0.496 [ms] (mean, across all concurrent requests)
Transfer rate: 45075.28 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 175 220.2 126 1195
Processing: 13 296 98.9 323 498
Waiting: 2 141 77.2 122 347
Total: 149 471 252.1 457 1564
Percentage of the requests served within a certain time (ms)
50% 457
66% 482
75% 492
80% 514
90% 616
95% 709
98% 1458
99% 1554
100% 1564 (longest request)
dd if=/dev/zero of=olo_test bs=64k count=16k conv=fdatasync# dd if=/dev/zero of=olo_test bs=64k count=16k conv=fdatasync
16384+0 записей считано
16384+0 записей написано
1073741824 bytes (1,1 GB) copied, 9,16004 секунд, 117 MB/s

Для работы AIO нужно выключить sendfile
Явно выключать sendfile не нужно, так как при использовании directio он выключается автоматически.
directio 5m;, то файлы меньшего размера будут отдаваться без использования directio и соотвественно aio в linux.Кстати, в документации написано:
Для работы AIO нужно выключить sendfile
[PHP Modules]
apc
bcmath
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
memcache
mhash
mysql
mysqli
mysqlnd
openssl
pcre
posix
Reflection
session
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
zip
zlib
[Zend Modules]
Опыт оптимизации окружения
fastcgi_connect_timeout 1800s; — представить даже трудно.connect() (man connect) выполняется менее чем за единицы миллисекунд. Установив значение в 60 минут вы просто лишили nginx и себя возможности узнать о проблемах с бэкендом. Ни один клиент не будет ждать 60 минут пока сервер сообразит, что «тут уже делать нечего» и вернет 502. В итоге со стороны клиента это будет выглядеть как зависший сервер, а с вашей стороны как клиент оборвавший соединение (ушел на другой сайт или закрыл браузер). То же касается других таймаутов, что вы наоптимизировали. Взять вот fastcgi_read_timeout. Что написано? Процитирую: Таймаут устанавливается не на всю передачу ответа, а только между двумя операциями чтения.и это там не сейчас появилось.
Насколько я понял, Nginx upload может загрузить файлы и только после окончания загрузки обратиться к бэк-энду для дальнейшей обработки.Это nginx делает всегда и без этого модуля.
Опыт оптимизации окружения VPS за $10 для персональной сети WordPress