使用paster网络服务器时,它是通过创建新线程来处理请求吗?
paster每次请求都会创建一个新线程吗?
你能为paster设置最大线程数吗,也就是说,能不能限制一下线程池的大小?如果可以的话,怎么做呢?
1 个回答
1
根据文档,paster
支持不同的服务器选择,这些选择取决于你的配置。比如说,它支持wsgiutils
,这是对twisted.web2的初步支持……欢迎提交补丁(这意味着它会是一个异步服务器),还有“SCGI、FastCGI和AJP协议,可以将外部网络服务器(像Apache)连接到你的应用程序。它有线程版和分叉版可供选择。这是基于flup的。
例如,你可以在Apache上配置最大线程数(和/或分叉进程数),而且这和paster
是完全独立的;如果你选择了flup/Apache/线程组合,显然你会想这样做。
在简单性和功能性之间的另一端,我认为wsgiutils,默认情况下,不能配置为使用线程池(也就是说,如果我没记错的话,你需要在wsgiutil
提供的最小框架上,编写一个新的服务器类型,才能使用线程池)。
显然,如果你需要任何高级配置选项,Apache的强大和灵活性是很难被超越的:-)。