如何优化 Apache 的网络服务器

如何优化 Apache 的网络服务器

我该如何通过以下配置优化服务器。加载页面花费的时间太长了。

IBM X3200 M3 服务器 - 1 个 Intel Xeon 处理器,4 GB 内存

下面是我当前的 apache 配置:

Start Servers: 5  (Default)
Minimum Spare Servers: 10
Maximum Spare Servers: 20
Server Limit: 500
Max Clients: 500
Max Requests Per Child: 10000 (Default)
Keep-Alive: On
Keep-Alive Timeout: 5
Max Keep-Alive Requests: 100
Timeout: 200

答案1

  1. 阅读一些有关该主题的好书。
  2. 重新配置您的网络服务器以捕获有意义的指标。

加载页面的时间

(现在事情真的开始变得复杂了)

  1. 使用适当的工具来捕获客户端页面响应(例如 Boomerang 或 Episodes)
  2. 收集数据
  3. 分析数据
  4. 将更改应用于代码/配置
  5. 重复步骤 4-7,直到性能达到最优,同时考虑局部最小值的风险
  6. 重复步骤 1-8,直到性能达到最优,同时考虑局部最小值的风险

如果您想要更具体的建议,那么我们需要了解更多有关正在发生的事情的信息。

顺便说一句,5 秒的保持活动超时很可能不合适。

答案2

一些常规的调整技巧(看起来像prefork):

  • 将 keep-alive 减少到 2,尽量短,5 太长了
  • 如果负载很大,请使用更多 ( start servers) 启动服务器并保持更多活动:( maximium spare servers)
  • 如果负载过重(apache 试图处理太多请求,内存容量不够),则可能需要进行交换。大致了解一下 http 进程使用了​​多少内存,并相应地减少最大客户端数。也就是说,如果您的 http 进程平均每个进程占用 30MB,在一台 4GB 的机器上,假设它是专用的 Web 服务器(没有 ftp、mysql 等),您可以为其分配 3GB,那么您不会允许超过 100 个客户端。

相关内容