110 тайм-аут соединения-использование play 2.1.3 и nginx
Nginx возвращает тайм-аут соединения 110
Журнал ошибок Nginx
2013/08/14 01:06:25 [error] 29031#0: *19429255 connect() failed (110: Connection timed out) while connecting to upstream, client: ***.***.***.***, server: d.localhost.com, request: "GET /dashboard/d HTTP/1.1", upstream: "http://0.0.0.0:9000/dashboard/d", host: "d.localhost.com", referrer: "http://d.localhost.com/"
Я обслуживал файл assets с nginx и уменьшил нагрузку на play, но все равно получаю эту ошибку пробовали увеличивать proxy_connect_timeout, send_timeout, proxy_read_timeout но ошибка сохраняется даже когда нагрузка на серверы низкая, он выдает эти ошибки
Это происходит регулярно с различными запросами
И моя конфигурация nginx
upstream dWeb {
server 0.0.0.0:9000;
}
server {
listen 80;
client_max_body_size 50M;
server_name d.localhost.com;
root /home/web/d-web;
send_timeout 20;
location /
{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_max_temp_file_size 0;
proxy_connect_timeout 10000;
send_timeout 10000;
proxy_read_timeout 10000;
keepalive_timeout 10000;
root /home/web/dsp-web/d-web-0.1.0;
autoindex on;
proxy_pass http://dWeb;
error_log /data/nginxlog/d.rd/error.log;
}
}
1 ответ:
Фактическая проблема заключалась в том, что play не смог обработать все запросы, которые были отправлены ему, и соединение в конечном итоге истекло
Как и увеличение рабочих мест в nginx in play, мы должны увеличить пулы потоков, чтобы улучшить параллельную производительность
Переопределение пула потоков по умолчанию для повышения производительности
Конфигурация по умолчанию
play { akka { event-handlers = ["akka.event.Logging$DefaultLogger","akka.event.slf4j.Slf4jEventHandler"] loglevel = WARNING actor { default-dispatcher = { fork-join-executor { parallelism-factor = 1.0 parallelism-max = 24 } } } } }
Коэффициент параллелизма - это количество потоков, создаваемых на одно доступное ядро. увеличение его до 4 с тех пор как там много операций чтения и записи на запрос
Переопределенная конфигурация коэффициент параллельности = 4,0 параллелизм-max = 24
Это остановило ошибку 110 тайм-аута