У нашего клиента есть приложение 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