2015-06-11 2 views
0

Мы часто получаем ошибку «Высокая загрузка» на нашем сайте. При анализе журналов мы обнаружили следующую ошибку.Сайт под большой нагрузкой - ROR

восходящий тайм-аут (110: время ожидания соединения) при чтении заголовка ответа вверх.

Конфигурация сервера выглядит следующим образом.

server 
    { 

    listen  443; 
    server_name example.com; 
    client_max_body_size 20M; 
    client_body_buffer_size 128k; 

    ssl     on; 
    ssl_certificate  xxxxxxxxx; 
    ssl_certificate_key xxxxxxxxx; 

    root  /home/xxx/xxx/xxx/public; 
    passenger_enabled on; 
    rails_env production; 
    #passenger_max_request_queue_size 200; 

    error_log /usr/local/nginx/logs/xxxx.com/error.log; 
    access_log /usr/local/nginx/logs/xxx.com/access.log; 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 

    } 

Сервер имеет оперативную память 4 ГБ и на этом сервере работает только одно приложение.

Кто-нибудь знает, как это исправить?

ответ

0

Похоже, что ваше приложение не отвечает своевременно. Если это нормально, что приложение занимает так много времени, чтобы обработать что-то, вы можете увеличить лимит:

proxy_read_timeout 300; 

Если это не вариант, вы должны взглянуть на ваше приложение, потому что одна является причиной проблемы. Чтобы решить проблему с этой стороны, вы должны предоставить более подробную информацию о приложении.

Может быть, вы хотите, чтобы взглянуть на это здесь: The website is under heavy load + ROR

+0

Где мы добавим proxy_read_timeout? Это внутри блока сервера? Каково значение по умолчанию этого? – prajeesh

+0

@prajeesh Я думаю, 60 секунд. Вы должны обязательно посмотреть это самостоятельно, потому что все это касается базовой конфигурации вашего сервера. Даже если это написано в stackoverflow, вы никогда не должны адаптировать значения, прочитанные в Интернете, и добавлять их в конфигурацию вашего сервера, не проверяя его на документы. – Marged

Смежные вопросы