4

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

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

谢谢。

4

2 回答 2

4

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

内置库的性能以及可能的健壮性很差。

于 2013-01-01T15:02:08.120 回答
3

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

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

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

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

于 2013-01-01T15:10:43.237 回答