每个 Apache 连接需要多少内存?

每个 Apache 连接需要多少内存?

我们的客户有一个 Ruby on Rails 应用程序,它主要是基于客户端的(即,控制器和视图中的处理很少),服务器堆栈中使用 Apache 和 Passenger。

我们看到每个用户连接大约占用 2MB 空间。这是合理的吗,还是我们的配置出了问题?

我们正在尝试估计每台服务器可以支持多少用户。

谢谢!

答案1

应使用 Passenger-memory-stats 确定 Phusion Passenger 的内存占用量。请参阅http://www.modrails.com/documentation/Users%20guide%20Apache.html#_inspecting_memory_usage

我注意到有关 RSS 字段的以下评论:

Private or private dirty RSS 字段显示进程的实际内存使用情况。在这里,我们看到所有 Apache 工作进程仅占用不到 1 MB 的内存。这比 VMSize 列中显示的 50 MB 左右的内存使用量要少得多(很多人认为这是实际内存使用量,但实际上并非如此)。

他们提供了有关内存输出的一个很好的例子:

[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

答案2

我有一个类似的问题等待答案。我使用了以下命令,

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 内存使用情况

答案3

2MB 对于 Apache 来说是合理的,具体取决于你使用的模块。要了解如何最大限度地提高内存效率,你可能需要研究 Apache 的mpm_worker模块

相关内容