0

軽量でありながら完全に機能する 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 回実行されたことを示します。それは正しくないようです。何か案は?何か間違えている?

4

1 に答える 1

2

これは、IPv6 ホストの ab バグ [1] に関連しているようです。

[1] http://simon.heimlicher.com/articles/2012/07/08/fix-apache-bench-ab-on-os-x-lion

于 2013-03-30T21:27:12.660 に答える