我正在尝试对使用 tornado.httpserver 制作的简单 Tornado 服务器进行基准测试,但在 Solaris 机器上使用具有 1000 个或更多并发连接的 apache bench 时出现以下错误。
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/tornado-2.3-py2.7.egg/tornado/iostream.py", line 304, in wrapper
File "/usr/local/lib/python2.7/site-packages/tornado-2.3-py2.7.egg/tornado/httpserver.py", line 227, in _on_headers
LookupError: unknown encoding: latin1
我相信这是由于竞争条件导致 python 编解码器表处于无效状态。我的理解是 latin1 包含在 python 标准库中,所以只要没有修改 python 编解码器表,它就应该存在。
我查看了 tornado src,它似乎没有修改编解码器表,所以我想知道是否有人知道其他方法或问题可能会在多进程 python 应用程序中导致此问题或类似问题。
谢谢!!
服务器代码链接:https ://www.dropbox.com/s/xrgj59sv0y5y31n/server_ioloop.py