我们有一个简单的内部供内部使用的Web服务器,它只有一个职责:侦听请求,读取请求并将数据推送到数据库中.数据库和Web服务器都位于同一台计算机上. db是mysql-db,服务器是运行单线程的python Web服务器(BaseHTTPServer.HTTPServer).
问题是不能同时处理两个请求.问题是,这将有助于使Web服务器成为多线程(使用django,cheryypy等)吗?直观地讲,Web服务器仅执行占用CPU的任务,因此将其更改为多线程无济于事.这个对吗?
解决方法:
当您想一次处理多个请求时,拥有多个线程或进程确实可以帮助您(实际上,这实际上是必需的).
这并不意味着将更快地处理两个请求.拥有一个进程或线程池对于提高Web服务器的性能非常有帮助,但是在这种情况下(除非您有多个内核)这并不是很明显.但是MySQL可以同时处理两个请求没有问题,因此,如果您的Web服务器也可以做到这一点,那么您就摆脱了仅处理一个请求的问题.
但是,如果值得尝试使用这样的服务器,那么您只能回答. :)在任何情况下,Django肯定都是矫kill过正,请看一些小型WSGI服务器.
标签:multithreading,webserver,python,database