public class ReuseExperimentMule2067TestCase extends AbstractMuleTestCase
[07-24 19:32:49] INFO ReuseExperimentMule2067TestCase [main]: Measuring average run length for 100 repeats without reuse and a pause of 100 ms [07-24 19:33:49] INFO ReuseExperimentMule2067TestCase [main]: Average run length: 57.3 +/- 33.15131973240282 [07-24 19:33:49] INFO ReuseExperimentMule2067TestCase [main]: Measuring average run length for 100 repeats with reuse and a pause of 100 ms [07-24 19:35:32] INFO ReuseExperimentMule2067TestCase [main]: Average run length: 100.0 +/- 0.0 [07-24 19:35:32] INFO ReuseExperimentMule2067TestCase [main]: Measuring average run length for 100 repeats without reuse and a pause of 10 ms [07-24 19:35:48] INFO ReuseExperimentMule2067TestCase [main]: Average run length: 96.8 +/- 7.332121111929359 [07-24 19:35:48] INFO ReuseExperimentMule2067TestCase [main]: Measuring average run length for 100 repeats with reuse and a pause of 10 ms [07-24 19:36:04] INFO ReuseExperimentMule2067TestCase [main]: Average run length: 100.0 +/- 0.0 [07-24 19:36:04] INFO ReuseExperimentMule2067TestCase [main]: Measuring average run length for 100 repeats without reuse and a pause of 1 ms [07-24 19:36:10] INFO ReuseExperimentMule2067TestCase [main]: Average run length: 75.8 +/- 37.690317058894586 [07-24 19:36:10] INFO ReuseExperimentMule2067TestCase [main]: Measuring average run length for 100 repeats with reuse and a pause of 1 ms [07-24 19:36:18] INFO ReuseExperimentMule2067TestCase [main]: Average run length: 100.0 +/- 0.0which suggest that enabling address re-use could help with the issue. Note that if a single socket (ie a single port number) is reused for all tests we often zeroes eveywhere (even with waits of 2sec and similar between iterations/tests). This suggests that once the error occurs, the socket enters a long-lived "broken" state. All this is by AC on linux, dual CPU, Java 1.4 - I suspect results will vary like crazy in different contexts.
Modifier and Type | Class and Description |
---|---|
protected static class |
ReuseExperimentMule2067TestCase.Server |
DEFAULT_TEST_TIMEOUT_SECS, globalTimeout, name, TEST_TIMEOUT_SYSTEM_PROPERTY, TESTING_MODE_PROPERTY_NAME
Constructor and Description |
---|
ReuseExperimentMule2067TestCase() |
Modifier and Type | Method and Description |
---|---|
protected void |
measureMeanRunLength(int sampleSize,
int numberOfRepeats,
int numberOfConnections,
int port,
long pause,
boolean reuse) |
protected void |
openCloseClientServer(int numberOfConnections,
int port,
boolean reuse) |
protected void |
pause(long pause) |
protected int |
repeatOpenCloseClientServer(int numberOfRepeats,
int numberOfConnections,
int port,
long pause,
boolean reuse,
boolean noFail) |
void |
testMeasureImprovement() |
void |
testReuse() |
clearExcludedFlag, clearRequestContext, clearTestCaseName, createTestTimeoutRule, dumpFilteredThreadsInTest, getTestHeader, getTestTimeoutSecs, getTimeoutSystemProperty, initializeMuleTest, isDisabledInThisEnvironment, isDisabledInThisEnvironment, isExcluded, isFailOnTimeout, isOffline, isTestIncludedInExclusionFile, takeTestCaseName
public void testReuse() throws IOException
IOException
public void testMeasureImprovement() throws IOException
IOException
protected void measureMeanRunLength(int sampleSize, int numberOfRepeats, int numberOfConnections, int port, long pause, boolean reuse) throws IOException
IOException
protected int repeatOpenCloseClientServer(int numberOfRepeats, int numberOfConnections, int port, long pause, boolean reuse, boolean noFail) throws IOException
IOException
protected void openCloseClientServer(int numberOfConnections, int port, boolean reuse) throws IOException
IOException
protected void pause(long pause)
Copyright © 2003–2016 MuleSoft, Inc.. All rights reserved.