Я запускаю на веб-сайті інтенсивний трафік з великою кількістю динамічного контенту, в основному створеного користувачем.
Сервер є виділеним сервером та має усього 4 процесора Intel (R) Xeon (R) X3210 @ 2.13 ГГц. Мені потрібно знати оптимальні значення для директив апарату ServerLimit та MaxClients, враховуючи, що сервер має 4 Гб оперативної пам’яті, а база даних MySQL працює на окремому сервері. Панель DirectAdmin із CentOS.
Нижче наведені мої нинішні директиви, але під час годин пік із більш ніж 5-тисячою кількістю користувачів помічено важливе відставання - і це не вся помилка MySQL, оскільки сторінки, здається, генеруються швидко (я реалізував лічильник часу генерації сторінок), але є довгий затримка з'єднання, поки сторінка не почне реагувати і не надсилається до браузера.
<IfModule prefork.c>
StartServers 800
MinSpareServers 20
MaxSpareServers 60
ServerLimit 900
MaxClients 900
MaxRequestsPerChild 2000
</IfModule>
Timeout 90
KeepAlive On
KeepAliveTimeout 5
Слід зазначити, що моніторинг сервера за допомогою верхньої команди, використання процесора ніколи не перевищує 20% ~ 30% у піковий час. На той час сервер MySQL також використовує 30 ~ 50%, і я постійно працюю над виправленням повільних запитів, але це вже інше питання. Я знаю, що це не вузьке місце БД, оскільки статичні сторінки також потребують тривалого завантаження у години пік.
Будь-які вдячні поради щодо оптимізації цих значень будуть дуже вдячні, дякую.