1

我将与cherrypy一起设置Apache。从cherrypy文档

if you have a simple website that doesn't have a really high traffic website 
(say, less than 50 hits/second) [...], then running CherryPy exposed is fine.
Otherwise, running it behind Apache is probably the right option for you.

Cherrypy 独立将创建一个线程池并为请求提供服务。当我在 Apache 后面使用它时,Apache 增加了一些可以处理更大负载的魔力。

我的问题是:apache 到底在那里做什么?它自己管理线程池吗?它会创建更多线程吗?它在工作安排方面做得更好吗?它是否为每个 Apache 线程生成一个单独的cherrypy 实例?

我的问题不是Apache 通常做什么,我知道 :) 我想知道哪些cherrypy“职责”被转移到了 Apache,所以这个串联性能更好

有关的:

4

1 回答 1

1

基本上它是一个额外的进程/线程层。

如果 apache 配置了worker dispatchThreadsPerChild,配置指令MaxClients定义了 apache 服务器将拥有的线程和进程的数量。

例如一个网站的请求包括5 images, 3 scripts,2 stylesheets1 for the content, 即11 requests. 浏览器不会并行发出所有请求,但是您将花费大量内存和线程来服务静态内容,就像将“原始产品”通过生产复杂产品的工厂并仅使用上的空间工厂交付未修改的产品并将其用于运输的大空箱(内存)留在工厂raw product

apache 进程的线程在某种意义上是“更便宜”的,因为它们只做一项工作,处理与客户端的连接,并在 apache 的模块/处理程序交付给连接的任何地方交付。

于 2013-01-22T05:34:14.937 回答