我们的客户端有一个基于客户端的Ruby on Rails应用程序(即在控制器和视图中处理很less),在服务器堆栈中使用Apache和Passenger。
我们看到每个用户连接大约需要2MB。 这是合理的,还是我们在configuration中做错了?
我们试图估计每台服务器可以支持多less用户。
谢谢!
旅客的记忆足迹应该使用乘客记忆统计来确定。 请参阅http://www.modrails.com/documentation/Users%20guide%20Apache.html#_inspecting_memory_usage
我会注意到关于RSS领域的以下评论:
私人或私人脏RSS字段显示进程的真实内存使用情况。 在这里,我们看到,所有的Apache工作进程只占用不到1 MB的内存。 这比VMSize列中显示的50 MB内存使用less很多(这是很多人认为是真正的内存使用情况,但实际上并不是这样)。
他们提供了一个很好的内存输出的例子:
[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
我有一个类似的问题等待答案。 我用了下面的命令,
ps aux | grep "apache" apache 10120 0.1 5.2 287908 31964 ? S 10:41 0:26 /usr/sbin/httpd
占总内存的5.2%(600MB),所以每个进程大约3MB(使用php)。 不知道这是否正确。
我的问题是在这里, ec2的内存使用情况
2MB对于Apache来说是合理的,取决于你正在使用的模块。 为了最大限度地提高内存效率,您可能需要查看Apache的mpm_worker
模块