12

gin-gonic に基づいた go で記述された API サーバーがあります。予想される並列操作ではなく、要求を順次処理していると思わせる奇妙なことに気付きました。次のログ ファイルを検討してください。

[GIN] 2016/04/05 - 17:24:37 | 200 |    5.738742ms | 64.... |   POST    /api/v2/d/
[GIN] 2016/04/05 - 17:24:40 | 200 |  3.262816256s | 64.... |   POST    /api/v2/d/
[GIN] 2016/04/05 - 17:24:42 | 200 |    3.563779ms | 64.... |   POST    /api/v2/d/
[GIN] 2016/04/05 - 17:24:43 | 200 |     105.429µs | 64.... |   POST    /api/v2/d/
[GIN] 2016/04/05 - 17:24:43 | 200 |     808.824µs | 64.... |   POST    /api/v2/d/

ログをリアルタイムで見ると、最後の 3 つのエントリは 2 番目の呼び出しが終了するまで表示されません。これら 5 つの呼び出しは、互いに 5 ミリ秒以内に API に対して行われます。呼び出しは並行して処理される必要があります。これは、すべての呼び出しが 17:24:43 ではなく 17:24:40 までに完了する必要があることを意味します。IE: リクエストを処理するために接続が確立されたときに、サーバーが新しいスレッド/ゴルーチンを生成すること。そうでない場合、そのように機能するパッケージについて誰か提案がありますか。

これは gin-gonic を使用した最初のプロジェクトであり、設定する必要がある構成パラメーターがあるかどうか疑問に思っています。どんなアイデア/提案も大歓迎です。

4

1 に答える 1