軽量でありながら完全に機能する Web サーバーを作成するのに十分な Netty を理解しようとしています。ソースコードをコピーすることから始めましたexamples/.../http/snoop
。サーバーを実行し、ブラウザでヒットすると正常に動作しますが、Apache ベンチマーク ツールでは動作しないようです。これを試して、10個のリクエストを送信します:
$ ab -n 10 http://localhost:8080/foo
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)...apr_socket_recv: Connection reset by peer (54)
Total of 7 requests completed
ハンドラーには、次のようなコードがあります。
public void messageReceived(ChannelHandlerContext ctx, Object msg) throws Exception {
if (msg instanceof HttpRequest) {
HttpRequest request = this.request = (HttpRequest) msg;
...
buf.append("WELCOME TO THE WILD WILD WEB SERVER\r\n");
何が呼び出されているかを把握するために、そこに整数カウント変数を追加しました。AB が実行された後、カウンターはbuf.append(...
ラインが 1200 回実行されたことを示します。それは正しくないようです。何か案は?何か間違えている?