methane.hatenablog.jp
2日前
Gunicorn の gthread と freethreading
Gunicorn の gthread worker はメインスレッドが epoll でソケットを監視しスレッドプールへ処理を振る方式で、keep-alive接続がスレッドを占有しない利点がある。ただし GIL の競合が起きやすく、nginx 等の後段では worker_connections をスレッド数と揃えないと負荷偏りが発生しうる。Python 3.14 と 3.14t(freethreading)でベンチマークした結果、3.14t は約1.76倍のRPS向上を示したが、単純な性能重視ならsync workerが最も優れ、gthreadは外部API遅延時の詰まり回避など特定用途向けの選択肢と結論づけている。
Gunicorn の gthread worker はメインスレッドが epoll でソケットを監視しスレッドプールへ処理を振る方式で、keep-alive接続がスレッドを占有しない利点がある。ただし GIL の競合が起きやすく、nginx 等の後段では worker_connections をスレッド数と揃えないと負荷偏りが発生しうる。Python 3.14 と 3.14t(freethreading)でベンチマークした結果、3.14t は約1.76倍のRPS向上を示したが、単純な性能重視ならsync workerが最も優れ、gthreadは外部API遅延時の詰まり回避など特定用途向けの選択肢と結論づけている。
methane.hatenablog.jp
2026/08/22
gunicornのuwsgi vs http vs picohttpparser
gunicornにuwsgiプロトコル対応とpicohttpparser採用の高速httpパーサーが追加されたことを受け、著者がgunicornのHTTP(auto/python parser)とuwsgi protocolの性能をベンチマーク比較した記事。意外にもpure Pythonパーサーがpicohttpparser採用のfastパーサーより高速という結果になり、gunicorn_h1cのインターフェイスに余計な変換が挟まっていることが原因と分析している。性能差はどちらも実用上無視できる水準であり、将来性やエコシステムの観点から新規にはHTTPプロトコルの利用を推奨し、uwsgiは移行時の選択肢に留めるべきと結論づけている。
gunicornにuwsgiプロトコル対応とpicohttpparser採用の高速httpパーサーが追加されたことを受け、著者がgunicornのHTTP(auto/python parser)とuwsgi protocolの性能をベンチマーク比較した記事。意外にもpure Pythonパーサーがpicohttpparser採用のfastパーサーより高速という結果になり、gunicorn_h1cのインターフェイスに余計な変換が挟まっていることが原因と分析している。性能差はどちらも実用上無視できる水準であり、将来性やエコシステムの観点から新規にはHTTPプロトコルの利用を推奨し、uwsgiは移行時の選択肢に留めるべきと結論づけている。