Apache 2.2.21 是否可在 Windows Server 2003 上感知多处理器?

Apache 2.2.21 是否可在 Windows Server 2003 上感知多处理器?

我目前在 Windows 2003 机器上的单个 CPU 上运行 Web 服务器。我正在考虑添加另一个处理器来提高性能,因为服务器上的一些 Web 应用程序速度变慢了。Apache 能否在两个 CPU 之间均衡负载?

答案1

除非您真的搞砸了配置,否则 Apache 本身会利用多个处理器。Apache 使用一种称为 MPM 的东西来启动和监督其各种工作线程/进程/等;不同的 MPM 以不同的方式工作。

如果有任何脚本或数据库访问正在进行,则可能会被限制到单个 CPU,这实际上取决于它的编写方式。例如,如果有数据库访问,并且查询在执行任何操作时锁定了唯一的表,那么 Web 服务器实际上将被限制到一个 CPU。通常情况并非如此,但值得警告。

答案2

事实上,大多数时候 Apache 只能为一个处理器打开一个线程来处理一个 http 请求。

您必须意识到,当您使用外部引用或本地(您的服务器)快速将数据刷新到客户端时,您可以节省大量时间。

导航器会立即尝试旋转外部引用,因此如果 http 请求是针对您的服务器的,您会收到第二个 http 请求(或更多),Apache 将在其他空闲处理器上启动线程(第一个 http 和第二个是并行进程)。导航器的工作就是组装每个 http 请求的已获得组件。

因此,您可以从 XP 开始使用系统监视器进行测试。

减少治疗时间的方法是: - 列出项目

*1- 当所有外部引用都已定义(外部 js、图像、媒体等...)时,请毫不犹豫地在 php 中使用 flush() 并发送加载

*2- 尝试对图像进行分组并发送所有参考资料

*3- 最后发送如何构建(使用 js 显示图像,所有图像首先加载 - 函数)

您将会看到您的多处理器 CPU 处于良好的水平。

还要注意,如果同一个脚本同时有多个用户,则多处理器将非常有用。

此致

高音

相关内容