Apache 配置不使用服务器功能

Apache 配置不使用服务器功能

我有一个 16 GB RAM 的网络服务器。该服务器流量很大,可以同时处理 300 个请求。

不幸的是,当这些峰值到达时,查询会出现错误或非常慢。

当我通过 free 命令查看服务器上使用的 RAM 时,它从未超过 4-5 GB,并且 CPU 负载平均为 10%。

          total       used      free         shared   buffers   cached
Mem:      16392540    4820632   11571908     0        356120    1948920
-/+ buffers/cache:    2515592   13876948
Swap:     1049596     0         1049596

这是我的 Apache 2 prefork 配置:

StartServers         32
MinSpareServers      32
MaxSpareServers      64
ServerLimit         512
MaxClients          512
MaxRequestsPerChild   0

Timeout 15
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 3

我想让 Apache 使用更多内存来处理所有请求,并且不会超载。但即使我更改配置,似乎也不会对内存使用产生任何影响。

我说我的服务器使用普莱斯克

我也使用MySQL数据库但仅包含一个表和几条记录。

你有什么主意吗?

谢谢你的帮助。
马丁

答案1

我也使用 MySQL 数据库,但只包含一个表和几条记录。

如果你正在运行 MySQL 数据库,那么你的磁盘是瓶颈。

即使只有“一张表和几条记录”,您仍然可能会遇到错误的查询、漫长的等待时间或数据库的某种问题,从而导致严重延迟,从而导致速度缓慢。

我之所以这么说,是因为你已经确定你的内存和 CPU 并没有承受太大的压力。
另一件要考虑的事情是,你的网络吞吐量是否足以满足你接收的请求量。


最后要说的是,请相信我:在这里调整 Apache 将是徒劳的。查看您的数据库、磁盘性能和网络带宽/吞吐量。

答案2

Vasili 关于硬盘及其瓶颈的说法非常正确。另外,如果您使用的是 Plesk 11,则可以在 apache 前面安装 nginx。默认情况下,nginx 未配置并以“混杂模式”工作。因此,您可以根据需要简单地对其进行配置和自定义,从而释放 apache 以提供静态文件。

相关内容