1

tornado.httpserver を使用して作成された単純な Tornado サーバーのベンチマークを実行しようとしていますが、Solaris マシンで 1000 以上の同時接続で apache ベンチを使用すると、次のエラーが発生します。

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 標準ライブラリに含まれているため、何も pythons コーデック テーブルを変更していない限り存在するはずです。

私はtornado srcを調べましたが、コーデックテーブルを変更していないようです。そのため、マルチプロセスのPythonアプリケーションでこれまたは同様の問題を引き起こす可能性のある他の方法や問題を誰かが知っているかどうか疑問に思っています.

ありがとう!!

サーバー コードへのリンク: https://www.dropbox.com/s/xrgj59sv0y5y31n/server_ioloop.py

4

1 に答える 1