![Apache Prefork 配置](https://linux22.com/image/596540/Apache%20Prefork%20%E9%85%8D%E7%BD%AE.png)
我是 VPS 配置新手。我已经安装了 apache、php 和 mysql,现在我需要知道如何配置 Prefork 来优化 Apache。
The system configuration is:
CPU Cores 2 x 2 Ghz @ 4 Ghz
RAM Memory 2304 MB DDR3
Burst Memory 3 GB DDR3
Disk Space 30 GB SSD
Bandwidth 3 TB
SwitchPort 1 Gbps
实际上,在linux、mysql、apache、php之后,一共有250MB的内存在使用。
嗯,我不知道该怎么计算。我在一些网站上看到一些变量,例如:
KeepAlive On
KeepAliveTimeout 1
MaxKeepAliveRequests 100
StartServers 15
MinSpareServers 15
MaxSpareServers 15
MaxClients 20
MaxRequestsPerChild 0
或者
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
我该怎么做:Prefork 还是 worker?变量放在哪里以及如何放置?在 httpd.conf 中?
答案1
这不能仅由硬件规格决定。有很多事情都很重要,尤其是您要提供什么服务。
例如:
使用 mod_php 的网站应该使用 prefork,因为 PHP 可能不是线程安全的。如果您使用 fcgi,则可以使用 worker。您是否在网站上使用大量 AJAX 进行推送通知?那么您可能会设置一个非常高的 MaxClient 值。但您需要将其设置为低于Size Per Apache process * Clients
每个进程 22MB 左右的值。另一方面,如果您提供大量静态内容,则可能不需要如此高的 MaxClient。还有 Spares。您愿意提供多少“热”可用。
性能问题无法这样回答。更多的是不断的测试和学习。拧紧螺丝,给所有东西上油。
你应该使用以下基准测试工具来分析你的表现:Apache Bench。尝试不同的组合并测试它们。这就是您获得配置的方法。