首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache性能分析

Apache性能分析
EN

Server Fault用户
提问于 2011-09-08 05:02:59
回答 3查看 921关注 0票数 1

我对我的网络服务器感到非常困难。根据网上的建议,我一直在调整事情,但却找不到任何具体的东西。

当我执行htop时,我的Apache进程正在消耗虚拟内存列下的450 My。我在互联网上搜索,人们说,安装电子加速器,系统将变得更快和高效,将消耗较少的内存和CPU。不幸的是,事实证明这比以前更糟了。现在,我的apache进程在Virtual列下显示1488 my内存。

  1. 虽然每个进程显示1488 it内存,但我可以看到,当Varnish拿走了4GB内存时,内存的总消耗量仅为7GB (我正在使用它作为反向代理)。
  2. 我不确定是否应该担心虚拟内存列。
  3. 安装了电子加速器之后,我的服务器还没有停机,原因是使用了18 2GB的完整RAM和2GB的交换空间。以前也发生过这种事。但是,我安装电子加速器才一天,所以问题可能会在一两天内开始出现。
  4. 请不要建议我使用不安装在我的服务器上的APC...its。
  5. 我已经检查了我的服务器的phpinfo页面,发现E加速器正在缓存脚本。到目前为止,它已经消耗了大约80 me的内存(从我分配的1Gb内存中),并缓存了大约900个脚本。
  6. 到目前为止,我的预叉设置是- StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 100

请在htop的截图下面找到。

FYI -它是一台专用服务器,有8个核心CPU.

在我的服务器启动并运行之前,我的站点性能是很好的。它第一次加载大约8秒,第二次显示为2.5秒。该网站的形象沉重,因为它是一个电子商务网站。

EN

回答 3

Server Fault用户

发布于 2011-09-08 09:11:56

Unix系统如何使用内存是一个漫长而复杂的故事。将每个进程的虚拟大小相加并不能准确地显示正在发生的事情。一个更好的方法是跟踪httpd进程的数量和可用内存(较少的缓冲区/缓存),这是由“free”报告的。然后把这些画在一个图表上,得到一个更真实的度量。

虽然在您的情况下,这是有点复杂的清漆运行,它仍然将给您一个很好的指示,需求如何影响内存。

您没有提供任何关于如何配置对内存使用和性能有很大影响的KeepAlives的信息。您也没有提供任何关于服务器上活动模式的信息-- httpd进程的数量在整个周期中是如何变化的?在不知道这一点的情况下,不可能评论您提供的conf细节有多合适。但是,除非您怀疑代码存在很大的问题,否则MaxRequestsPerChild非常低。

另外,在不了解内容类型的相对数量的情况下,很难说什么会有帮助--例如,如果您提供了大量的静态CSS、JS和HTML,那么您将从使用压缩中获得很多好处。

8GB和18 and?Big是构建可伸缩way服务器架构的错误方法。

我的网站表现很好。它第一次加载大约8秒,第二次查看为2.5秒

我想我们对“优秀”这个词有不同的解释。

虽然我怀疑这里需要进行大量的调优和重构(特别是从您在问题中没有提供的所有信息来判断),但最终您只需要添加更多的硬件。在此期间,你可能想买些帮助。

票数 4
EN

Server Fault用户

发布于 2011-09-08 07:12:33

如果你想减少内存的使用,你真的不应该使用预叉,而应该使用工作线程。正如它的名称所暗示的那样,Pre叉实际上每次都启动一个新的进程,它有自己的内存空间和不需要的内容。

因此,请将apache改为使用worker mpm。这应该会有一点帮助。

也就是说,如果您有18 7GB的RAM,那么使用7GB的apache有什么问题呢?你还有很多别的事要做。

也许你可以进一步解释,你想要实现什么。

票数 2
EN

Server Fault用户

发布于 2011-09-08 05:15:01

虚拟内存是它的名字。查看RES列以了解实际的内存使用情况。

有关详细信息,请参阅man top,特别是DESCRIPTIONS of Fields部分。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/309263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档