izx
Новичок
Где еще поискать узкие места?
Была у меня проблема.
Иногда в дневные часы, когда посещаемость сайта максимальная он начинал долго открываться.
Причем первое обращение к сайту происходило 10 – 15 секунд.
(Долгим было первое обращение к любой странице сайта даже по IP адресу)
Следующие уже происходили быстрее. 3-5 секунд.
В вечернее и ночное время сайт открывался мгновенно.
Я изменил значение параметра KeepAliveTimeout в настройках Apache
Вместо 15 секунд поставил 3 секунды.
Все остальные настройки Apache оставлены по умолчанию.
После этого торможения уменьшились. Страницы в дневное время открываются 2-5 секунд.
И первое обращение перестало быть слишком долгим.
Вот что сказано про эту опцию в документации Apache
-------
The number of seconds Apache will wait for a subsequent request before closing the connection. Once a request has been received, the timeout value specified by the Timeout directive applies.
Setting KeepAliveTimeout to a high value may cause performance problems in heavily loaded servers. The higher the timeout, the more server processes will be kept occupied waiting on connections with idle clients.
-------------
Перевод.>>>
---------------
Количество секунд, которое Apache ждет последовательность запросов до закрытия соединения. . . .
Установка KeepAliveTimeout в большое значение может вызвать проблем на тяжело загруженных серверах. При более высоком значении таймаута больше серверных процессов держаться и ожидают соединение с неактивным клиентом.
----------------
У меня вопрос к знатокам Apache и Linux.
Какие еще настойки можно попробовать сделать для ускорения работы сайта?
И где еще можно поискать узкие места?
Вот что выдает команда Vmstat в периоды наибольшей загруженности.
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 0 220816 60588 532948 0 0 2 84 196 207 3 3 95
0 0 0 0 221280 60588 532936 0 0 0 224 420 409 1 4 95
0 0 0 0 221332 60588 532936 0 0 0 0 483 689 6 3 91
0 0 0 0 221676 60588 532940 0 0 0 0 515 488 2 1 97
0 0 1 0 221076 60588 532944 0 0 0 604 545 574 4 2 94
0 0 0 0 221796 60588 532944 0 0 0 380 568 701 3 7 90
0 0 0 0 222280 60588 532948 0 0 0 0 495 555 3 1 96
0 0 0 0 222748 60588 532956 0 0 0 0 398 460 1 2 97
По этим данным 95% ресурсов процессора свободны и свап не используется. Да и память свободная еще есть.
Оптимизация PHP скриптов и запросов к MySQL уже проведены.
И на мой взгляд довольно не плохо.
Параметры сайта.
300 000 хитов в сутки 8 000 хостов в сутки.
300 000 Гб трафика в месяц.
Стоит Linux 2.4.23, Apache 1.3.29 + PHP 4.3.4 как модуль + MySQL 4.0.16
Сайт представляет из себя форум и генирится динамически с помощью PHP и MySQL
Параметры сервера (стоит в дата центре).
P4 2.8 Гц, 1 Гб RAM, винт IDE. Сетевая карта 100 Мбит
На сервере крутится только один сайт.
Была у меня проблема.
Иногда в дневные часы, когда посещаемость сайта максимальная он начинал долго открываться.
Причем первое обращение к сайту происходило 10 – 15 секунд.
(Долгим было первое обращение к любой странице сайта даже по IP адресу)
Следующие уже происходили быстрее. 3-5 секунд.
В вечернее и ночное время сайт открывался мгновенно.
Я изменил значение параметра KeepAliveTimeout в настройках Apache
Вместо 15 секунд поставил 3 секунды.
Все остальные настройки Apache оставлены по умолчанию.
После этого торможения уменьшились. Страницы в дневное время открываются 2-5 секунд.
И первое обращение перестало быть слишком долгим.
Вот что сказано про эту опцию в документации Apache
-------
The number of seconds Apache will wait for a subsequent request before closing the connection. Once a request has been received, the timeout value specified by the Timeout directive applies.
Setting KeepAliveTimeout to a high value may cause performance problems in heavily loaded servers. The higher the timeout, the more server processes will be kept occupied waiting on connections with idle clients.
-------------
Перевод.>>>
---------------
Количество секунд, которое Apache ждет последовательность запросов до закрытия соединения. . . .
Установка KeepAliveTimeout в большое значение может вызвать проблем на тяжело загруженных серверах. При более высоком значении таймаута больше серверных процессов держаться и ожидают соединение с неактивным клиентом.
----------------
У меня вопрос к знатокам Apache и Linux.
Какие еще настойки можно попробовать сделать для ускорения работы сайта?
И где еще можно поискать узкие места?
Вот что выдает команда Vmstat в периоды наибольшей загруженности.
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 0 220816 60588 532948 0 0 2 84 196 207 3 3 95
0 0 0 0 221280 60588 532936 0 0 0 224 420 409 1 4 95
0 0 0 0 221332 60588 532936 0 0 0 0 483 689 6 3 91
0 0 0 0 221676 60588 532940 0 0 0 0 515 488 2 1 97
0 0 1 0 221076 60588 532944 0 0 0 604 545 574 4 2 94
0 0 0 0 221796 60588 532944 0 0 0 380 568 701 3 7 90
0 0 0 0 222280 60588 532948 0 0 0 0 495 555 3 1 96
0 0 0 0 222748 60588 532956 0 0 0 0 398 460 1 2 97
По этим данным 95% ресурсов процессора свободны и свап не используется. Да и память свободная еще есть.
Оптимизация PHP скриптов и запросов к MySQL уже проведены.
И на мой взгляд довольно не плохо.
Параметры сайта.
300 000 хитов в сутки 8 000 хостов в сутки.
300 000 Гб трафика в месяц.
Стоит Linux 2.4.23, Apache 1.3.29 + PHP 4.3.4 как модуль + MySQL 4.0.16
Сайт представляет из себя форум и генирится динамически с помощью PHP и MySQL
Параметры сервера (стоит в дата центре).
P4 2.8 Гц, 1 Гб RAM, винт IDE. Сетевая карта 100 Мбит
На сервере крутится только один сайт.