Python HTTPServer和TCPServer的性能

时间:2013-01-01 14:58:45

标签: python performance tcpserver httpserver

我花了几天时间试图获得一些关于在Python中使用HTTPServer和/或TCPServer内置库可以获得什么样的性能的硬统计数据。

我想知道是否有人可以给我任何关于如何处理HTTP请求以及它们是否能够在生产环境中或在高流量情况下如果有人有任何提示或线索的话这将改善这些情况下的表现。 (假设无法访问像Twisted等外部库)

感谢。

2 个答案:

答案 0 :(得分:3)

这些内置库都没有用于严肃的生产用途。获得真正的实现,例如,从Twisted,Tornado或gunicorn等等,有很多。没有必要坚持使用标准库模块。

内置库的性能和可能性很差。

答案 1 :(得分:3)

测试它们。开始在localhost上提供页面,然后使用Apache基准测试工具。

apt-get install apache2-utils
ab -n 10000 -c 100 http://localhost/

这会产生10000个请求,最多100个并发请求。

但是,是的。我不会在生产中使用它们。我们通过uWSGI为通过Nginx代理的请求提供Python应用程序。它非常灵活,可以扩展。内置的httpserver甚至可以处理多个请求吗?它可能是单线程的。测试时你会发现很快。