Pythonでは、サーバーをCPU単位で適切に拡張したい場合は、明らかに複数のプロセスを生成する必要があります。私はどちらが良いのか疑問に思っていました(ツイストを使用):
A)マネージャープロセス(実際のソケット接続を保持するプロセス)は、受信したパケットを共有キュー(マルチプロセッシングモジュールからのパケット)に入れ、ワーカープロセスはパケットをキューから引き出して処理し、結果をに送り返します。クライアント。
B)マネージャープロセス(実際のソケット接続を保持するプロセス)は、遅延スレッドを起動してから、プロセスプールでapply()関数を呼び出します。結果がワーカープロセスから返されると、マネージャーは結果をクライアントに送り返します。
どちらの実装でも、ワーカープロセスはスレッドプールを使用するため、一度に複数のパケットを処理できます(データベースクエリが多数発生するため)。