Apache тяжелой нагрузки VIRT против RES памяти

У меня есть сервер Debian 5, который получает много трафика. Сейчас на сервере 4 ГБ оперативной памяти и нет подкачки. Вверху видно, что процессы Apache потребляют примерно 180 МБ виртуальной памяти (VIRT) каждый и 16 МБ реальной ОЗУ (RES). Так сколько потоков Apache я могу запустить одновременно? Около 4 ГБ / 180 МБ = 22 или 4 ГБ / 16 МБ = 256?

2 ответа

Размер виртуальной памяти не так важен, как ваш резидентный набор. Виртуальная память будет включать в себя вещи, которые отображаются, такие как разделяемые библиотеки и еще много чего (которые будут храниться в физической памяти только один раз). RSS говорит вам, что на самом деле в памяти, где, как Virt. сообщает, сколько доступного виртуального адресного пространства было проглочено.

Ваш второй расчет будет ближе, хотя он довольно низкий. Сервер с 4 ГБ ОЗУ может выполнять более 256 процессов Apache. В зависимости от ваших шаблонов трафика и ограничений ожидания ввода-вывода, запуск более 256 может быть хорошей идеей, так как большое количество этих процессов может просто сидеть и ждать, пока ядро ​​перенаправит данные с устройства на устройство. Также учитывайте такие вещи, как COW и тот факт, что все указывает на один и тот же двоичный файл httpd, и вы получаете больше эффективности.

Теперь иди и перестрой свою систему с хорошими 2 ГБ пространства подкачки. Своп больше не действует как "медленная память".

Как заявление об отказе от ответственности, Прошло много времени с тех пор, как я заботился об особенностях управления памятью в Linux, и, возможно, я немного ошибаюсь в моих фактах, но суть солидна!

Это значение в основном зависит от экспериментальной нагрузки на ваш текущий сервер.

попробуйте собрать некоторые данные с помощью "apache top". Сделайте некоторые изменения конфигурации и попробуйте снова. Поскольку я не знаю, какой у вас конкретный пример использования, сложно придумать конкретные цифры.

Если вы хотите предсказуемое потребление памяти для вашего веб-сервера, пожалуйста, посмотрите на http://wiki.nginx.org/Main

Это решает некоторые проблемы масштабируемости очень классным способом.

Это не подходит для каждого варианта использования, но, безусловно, учитывайте это.

Вы можете развернуть его, чтобы уменьшить нагрузку на ваш экземпляр apache. Он подходит для обслуживания статического содержимого и содержимого кэша в конфигурации обратного прокси-сервера, а также для других сценариев высокой нагрузки.

Дай вихрь, это бесплатно:-)

Другие вопросы по тегам