Назад | Перейти на главную страницу

Сколько памяти на одно соединение Apache?

У нашего клиента есть приложение Ruby on Rails, которое в основном основано на клиенте (то есть с очень небольшой обработкой в ​​контроллерах и представлениях) с Apache и Passenger в стеке сервера.

Мы видим, что каждое соединение занимает около 2 МБ на одно пользовательское соединение. Это разумно, или мы что-то не так сделали в конфигурации?

Мы пытаемся оценить, сколько пользователей может поддерживать каждый сервер.

Спасибо!

Объем памяти для фьюжн-пассажира должен быть определен с использованием статистики пассажира-памяти. Видеть http://www.modrails.com/documentation/Users%20guide%20Apache.html#_inspecting_memory_usage

Отмечу такой комментарий по поводу поля RSS:

Поле Private или private dirty RSS показывает реальное использование памяти процессами. Здесь мы видим, что все рабочие процессы Apache занимают менее 1 МБ памяти каждый. Это намного меньше, чем использование памяти в 50 МБ, как показано в столбце VMSize (это то, что многие люди считают реальным использованием памяти, но на самом деле это не так).

Они предоставили хороший пример вывода в память:

[bash@localhost root]# passenger-memory-stats
------------- Apache processes --------------.
PID    PPID  Threads  VMSize   Private  Name
---------------------------------------------.
5947   1     9        90.6 MB  0.5 MB   /usr/sbin/apache2 -k start
5948   5947  1        18.9 MB  0.7 MB   /usr/sbin/fcgi-pm -k start
6029   5947  1        42.7 MB  0.5 MB   /usr/sbin/apache2 -k start
6030   5947  1        42.7 MB  0.5 MB   /usr/sbin/apache2 -k start
6031   5947  1        42.5 MB  0.3 MB   /usr/sbin/apache2 -k start
6033   5947  1        42.5 MB  0.4 MB   /usr/sbin/apache2 -k start
6034   5947  1        50.5 MB  0.4 MB   /usr/sbin/apache2 -k start
23482  5947  1        82.6 MB  0.4 MB   /usr/sbin/apache2 -k start
### Processes: 8
### Total private dirty RSS: 3.50 MB

--------- Passenger processes ---------.
PID    Threads  VMSize   Private  Name
---------------------------------------.
6026   1        10.9 MB  4.7 MB   Passenger spawn server
23481  1        26.7 MB  3.0 MB   Passenger FrameworkSpawner: 2.0.2
23791  1        26.8 MB  2.9 MB   Passenger ApplicationSpawner: /var/www/projects/app1-foobar
23793  1        26.9 MB  17.1 MB  Rails: /var/www/projects/app1-foobar
### Processes: 4
### Total private dirty RSS: 27.76 M

Для Apache разумно 2 МБ, в зависимости от того, какие модули вы используете. Чтобы выяснить, как повысить эффективность памяти, вы можете изучить Apache mpm_worker модуль

У меня похожий вопрос, ждущий ответа. Я использовал следующую команду,

ps aux | grep "apache"
apache   10120  0.1  5.2 287908 31964 ?        S    10:41   0:26 /usr/sbin/httpd

5,2% от общей памяти (600 МБ), то есть около 3 МБ на процесс (с использованием php). Не уверен, что это правильно.

Мой вопрос здесь, использование памяти ec2