서블릿의 성능을 테스트하는 애플리케이션을 작성했습니다. 필자가 작성한 코드는 일부 요청에서 잘 작동합니다. 만약 내가 더 많은 연결을 증가 시키면 어떤 때는 "너무 많은 바이트를 쓰게됩니다"예외가 생깁니다.너무 많은 바이트가 쓰여짐 - HttpsURLConnection
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();
로 보낼 수있는 고정 덩어리를 계산, 전송 너무 많은 요청이 나를 준다 이 오류는 때로는 .. 이 시나리오를 어떻게 처리합니까?
보통 테스트를 위해, 어떤 inturn이 청크로 데이터를받는 서블릿에 도달하는 몇 가지 요청을 10, 100, 500, 1000에서 생성합니다.
거기 .. 내 오타를 수정하고 수정했습니다. 문제를 해결하기 위해 무엇을 할 수 있는지 말해주십시오. –
그것은 제가 연결을 연 방법과 관련이 있습니다. 클래스의 구성원 데이터를 연결하고 스레드에 대한 각각의 요청에 대해 동일한 연결을 재사용해야합니까? –
예. 오타를 무시하십시오 .. 테스트 응용 프로그램이 잘 작동합니다 .. 전체 프로그램에 이미 언급 한대로 이러한 것들이 있습니다. 그것을 해결할 해결책을 말해주십시오. –