Як налаштувати nginx keepalive_timeout?


12

Я використовую nginx разом з php-fpm для серверного зайнятого сайту на базі mysql. В даний час я використовую keepalive_timeout = 5, проте я не маю чіткого уявлення про те, як оптимально налаштувати його. Тож цінуйте ваші підказки.

Відповіді:


10

Що вам потрібно, щоб це налаштувати, а точніше: чи виникають у вас проблеми з тим, як налаштувати його?

Не існує гарної відповіді, що відповідає всім розмірам; якщо більшість клієнтських браузерів здатні завантажувати всі ресурси на сторінку за 5 секунд, то 5 секунд - це просто добре, але це повністю залежить від потреб вашого додатка - якщо ваш сервер nginx виконував функцію зворотного проксі для Exchange ActiveSync, наприклад, ви б хотіли, щоб це закрутило аж до півгодини.


Добре, я намагаюся мінімізувати завантаження сервера (яке досить велике в часи вибору), і я думаю, що оптимізація keepalive_timeout може частково сприяти досягненню цієї мети. Крім того, це просто здорове цікавість :)
alfish

1
Впевнений - так, майже "як можна менше, не відштовхуючи більшість клієнтів, перш ніж вони завантажують сторінку" - тож якщо ваші сторінки завантажуватимуться за секунду для більшості клієнтів, то час очікування на 1 секунду буде нормальним. Але, якщо ваш час очікування значно, набагато перевищує 5 секунд, навряд чи це головна причина завантаження сервера.
Шейн Мадден

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

Просто надіньте його. Кілька секунд так чи інакше навряд чи призведе до суттєвої зміни в навантаженні, тому сміливо оцінюйте високу - але знову ж таки, нове складання TCP-з'єднання (навіть із рукостисканням SSL, якщо це можливо) для клієнта з повільним завантаженням не буде суттєво змінити загальну швидкість завантаження.
Шейн Мадден

1
@ShaneMadden, що 5 секунд - це не тривалість з'єднання, а лише час очікування, протягом якого сервер чекає іншого запиту до keepalive_requests. Тому не важливо, скільки часу потрібно для завантаження повної сторінки, а лише для html, поки браузер не почне отримувати зображення / css ... BTW макс. Час зв’язку триває відкритим майжеkeepalive_timeout*keepalive_requests
Marki555
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.