サーブレットのパフォーマンスをテストするアプリケーションを作成しました。私が書いたコードは、いくつかの要求でうまく機能します。接続数を増やすと、「書き込みバイト数が多すぎます」という例外が発生することがあります。
int startRange = 0, endRange = 10000;
HttpsURLConnection c = null;
c = getHttpsConnection(URL);
c.setDoInput(true);
c.setDoOutput(true);
c.setRequestProperty("Content-Length",(cotentLength+1));
c.setFixedLengthStreamingMode(contentLength+1);
c.setRequestProperty("Content-Type","appplication/zip");
c.setRequestMethod("POST");
c.setRequestProperty("Content-Range", "bytes "+startRange+"-"+endRange+"/"+filesize);
OutputStream op = c.getOutputStream();
送信する固定チャンクを計算しますbyte[] partBuf = new byte[contentLength+1];
それから
op.write(partBuf)
String range = c.getHeaderField("Range");
in.close();
op.flush();
op.close();
送信された特定のリクエストまで「書き込みバイト数が多すぎます」エラーが発生しません。送信されたリクエストが多すぎると、このエラーが発生することがあります..このシナリオをどのように処理しますか?
通常、テストのために、10、100、500、1000 のさまざまなリクエストを生成します。これは、データをチャンクで受信するサーブレットにヒットします。