Issue #6728 - QUIC and HTTP/3
- Try to pinpoint the elusive failures. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
This commit is contained in:
parent
41a2e785a9
commit
4b49dbb54f
|
@ -42,7 +42,7 @@ pipeline {
|
|||
steps {
|
||||
container( 'jetty-build' ) {
|
||||
timeout( time: 120, unit: 'MINUTES' ) {
|
||||
mavenBuild( "jdk17", "clean install -Dspotbugs.skip=true -Djacoco.skip=true", "maven3")
|
||||
mavenBuild( "jdk17", "clean install -Dspotbugs.skip=true -Djacoco.skip=true -am -pl :test-http-client-transport -Dtest=HttpClientLoadTest#testIterative", "maven3")
|
||||
recordIssues id: "jdk17", name: "Static Analysis jdk17", aggregatingResults: true, enabledForFailure: true, tools: [mavenConsole(), java(), checkStyle(), spotBugs(), pmdParser()]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,6 +44,8 @@ import org.eclipse.jetty.io.ArrayByteBufferPool;
|
|||
import org.eclipse.jetty.io.ByteBufferPool;
|
||||
import org.eclipse.jetty.io.LeakTrackingByteBufferPool;
|
||||
import org.eclipse.jetty.io.MappedByteBufferPool;
|
||||
import org.eclipse.jetty.logging.JettyLevel;
|
||||
import org.eclipse.jetty.logging.JettyLogger;
|
||||
import org.eclipse.jetty.server.Connector;
|
||||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.server.ServerConnector;
|
||||
|
@ -80,33 +82,43 @@ public class HttpClientLoadTest extends AbstractTest<HttpClientLoadTest.LoadTran
|
|||
@ArgumentsSource(TransportProvider.class)
|
||||
public void testIterative(Transport transport) throws Exception
|
||||
{
|
||||
init(transport);
|
||||
scenario.start(new LoadHandler(), client ->
|
||||
{
|
||||
client.setByteBufferPool(new LeakTrackingByteBufferPool(new MappedByteBufferPool.Tagged()));
|
||||
client.setMaxConnectionsPerDestination(32768);
|
||||
client.setMaxRequestsQueuedPerDestination(1024 * 1024);
|
||||
});
|
||||
scenario.setConnectionIdleTimeout(120000);
|
||||
scenario.setRequestIdleTimeout(120000);
|
||||
scenario.client.setIdleTimeout(120000);
|
||||
JettyLogger logger = (JettyLogger)LoggerFactory.getLogger("org.eclipse.jetty");
|
||||
logger.setLevel(JettyLevel.DEBUG);
|
||||
|
||||
// At least 25k requests to warmup properly (use -XX:+PrintCompilation to verify JIT activity)
|
||||
int runs = 1;
|
||||
int iterations = 100;
|
||||
for (int i = 0; i < runs; ++i)
|
||||
try
|
||||
{
|
||||
run(transport, iterations);
|
||||
init(transport);
|
||||
scenario.start(new LoadHandler(), client ->
|
||||
{
|
||||
client.setByteBufferPool(new LeakTrackingByteBufferPool(new MappedByteBufferPool.Tagged()));
|
||||
client.setMaxConnectionsPerDestination(32768);
|
||||
client.setMaxRequestsQueuedPerDestination(1024 * 1024);
|
||||
});
|
||||
scenario.setConnectionIdleTimeout(120000);
|
||||
scenario.setRequestIdleTimeout(120000);
|
||||
scenario.client.setIdleTimeout(120000);
|
||||
|
||||
// At least 25k requests to warmup properly (use -XX:+PrintCompilation to verify JIT activity)
|
||||
int runs = 1;
|
||||
int iterations = 50;
|
||||
for (int i = 0; i < runs; ++i)
|
||||
{
|
||||
run(transport, iterations);
|
||||
}
|
||||
|
||||
// Re-run after warmup
|
||||
iterations = 100;
|
||||
for (int i = 0; i < runs; ++i)
|
||||
{
|
||||
run(transport, iterations);
|
||||
}
|
||||
|
||||
assertLeaks();
|
||||
}
|
||||
|
||||
// Re-run after warmup
|
||||
iterations = 250;
|
||||
for (int i = 0; i < runs; ++i)
|
||||
finally
|
||||
{
|
||||
run(transport, iterations);
|
||||
logger.setLevel(JettyLevel.INFO);
|
||||
}
|
||||
|
||||
assertLeaks();
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
|
|
Loading…
Reference in New Issue