Веб-сервисы Amazon — Что является узким местом в моей настройке nginx + php?

Я выполняю некоторые тесты осады на моем сервере nginx. Узкое место не похоже на процессор или память, так что же это?

Я пытаюсь сделать это на моем MacBook:

sudo siege -t 10s -c 500 server_ip/test.php

Время отклика доходит до 10 секунд, я получаю ошибки и прекращаю осаду до завершения.

Но я, если запустить выше на моем сервере

siege -t 10s -c 500 localhost/test.php

Я получил:

Transactions:               6555 hits
Availability:              95.14 %
Elapsed time:               9.51 secs
Data transferred:         117.30 MB
Response time:              0.18 secs
Transaction rate:         689.27 trans/sec
Throughput:            12.33 MB/sec
Concurrency:              127.11
Successful transactions:        6555
Failed transactions:             335
Longest transaction:            1.31
Shortest transaction:           0.00

Я также заметил, что для меньших одновременных показателей, я получаю значительно улучшенную скорость транзакций на локальном хосте по сравнению с внешними.

Но когда вышеперечисленное работает на локальном хосте, загрузка процессора низка, использование памяти низко на HTOP. Поэтому я не понимаю, как повысить производительность, потому что не вижу узкого места.

ulimit возвращает 50000, потому что я его увеличил. Есть 4 рабочих процесса nginx, что в 2 раза больше, чем у меня. Вот мои другие настройки

worker_rlimit_nofile 40000;

events {
worker_connections 20000;
# multi_accept on;
}

tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

Test.php — это просто эхо-скрипт phpinfo (), ничего больше. Нет соединений с базой данных.

Я считаю, что машина имеет большой размер AWS m3, 2 ядра и около 7 ГБ оперативной памяти.

Вот содержимое моего блока сервера:

      listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /var/www/sitename;
index index.php index.html index.htm;

# Make site accessible from http://localhost/
server_name localhost;

location / {
try_files $uri $uri.html $uri/ @extensionless-php;
}

location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

Также это было в моем журнале ошибок:

connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, cli$

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]