Оптимизация lighttpd fastcgi
У меня есть веб-сервис, использующий lighttpd и fastCGI (используя TCP), где lighttpd вызывает узкое место процессора. Как я могу оптимизировать производительность lighttpd и fastCGI?
С уважением
2 ответа
Я очень сомневаюсь, что Lighttpd вызовет узкое место у процессора - до того, как умрет ваша сеть или жесткий диск... fastCGI - это всего лишь интерфейс, но я предполагаю, что вы используете его с PHP? Проверьте http://xcache.lighttpd.net/
Хотя этот вопрос содержит слишком мало информации, чтобы помочь вам правильно...
Lighttpd был разработан как однопоточный и однопоточный веб-сервер. Это означает, что lighttpd использует только одно ядро для приема новых подключений, поиска файлов, открытия файлов, отправки данных обратно, получения данных, а также для открытия, отправки и получения данных из или в серверную часть FastCGI.
Мой честный совет - использовать другой веб-сервер, например, nginx, если вы действительно видите, что lighttpd достигает 100% CPU.
Однако, если вы вынуждены использовать lighttpd (>=1.4), вы также можете использовать:
server.max-worker = 2
который вызовет 2 процесса lighttpd, оба принимают новые соединения. (Вы можете заменить 2 на большее число, ofc.)
Тем не менее, это действительно только породит два процесса без связи между ними, что приведет к различным "неправильным действиям":
- Модули, собирающие данные, собирают их только для обработки. Это означает, что на странице mod_status будет показана только статистика рабочего процесса, который принял ваше соединение.
- Логи просто пишутся из 2 (или более) процессов. Иногда смешивая логи, когда буфер записи записывается с 2 последовательными вызовами записи.
- Любой сконфигурированный лимит для всего сервера в действительности является рабочим процессом
- Другие вещи, возможно.