ゲームサーバーとしてnginxとphp-fpmを使用しています。1 人のプレイヤーからのリクエストが 1 つずつ処理されるようにしたいと考えています。その後、ゲーム内のマルチスレッドのバグが大幅に減少しました。
そのようにnginxを設定する方法がわかりません。ありがとうございました。
ゲームサーバーとしてnginxとphp-fpmを使用しています。1 人のプレイヤーからのリクエストが 1 つずつ処理されるようにしたいと考えています。その後、ゲーム内のマルチスレッドのバグが大幅に減少しました。
そのようにnginxを設定する方法がわかりません。ありがとうございました。
私の知る限り、Web サーバー自体をシングルスレッド モードで実行することはできません。この問題には解決策があると思います。プレーヤーのリクエストを処理するには、キューが必要です。スレッドセーフなキューを作成するには、2 つのオプションがあります。
1 つは、サーバーのメモリ上にある PHP 用のスレッド セーフなキュー アプリケーションへのインターフェイスを作成することです。PHP は、このスレッドセーフなアプリにリクエストを追加するだけで、アプリはそれらを順番に実行できます。
または、要求をデータベースに保存するだけで (同時挿入がサポートされているため)、データベースから要求を読み取って順番に実行するプログラムを実行できます。
ただし、これにより実行プロセスにオーバーヘッドが追加されます。