I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit fa4f1007 authored by jrandom's avatar jrandom Committed by zzz
Browse files

new limiter, pull slow and not too useful tests (uncomment 'em to run 'em)

parent bbf68cd9
No related branches found
No related tags found
No related merge requests found
...@@ -32,13 +32,14 @@ public class BandwidthLimiterTest { ...@@ -32,13 +32,14 @@ public class BandwidthLimiterTest {
public void prepareLimiter(int inKBps, int outKBps, int inBurst, int outBurst) { public void prepareLimiter(int inKBps, int outKBps, int inBurst, int outBurst) {
Properties props = new Properties(); Properties props = new Properties();
props.setProperty(TrivialBandwidthLimiter.PROP_INBOUND_BANDWIDTH, ""+inKBps); props.setProperty(FIFOBandwidthRefiller.PROP_INBOUND_BANDWIDTH, ""+inKBps);
props.setProperty(TrivialBandwidthLimiter.PROP_OUTBOUND_BANDWIDTH, ""+outKBps); props.setProperty(FIFOBandwidthRefiller.PROP_OUTBOUND_BANDWIDTH, ""+outKBps);
props.setProperty(TrivialBandwidthLimiter.PROP_INBOUND_BANDWIDTH_PEAK, ""+inBurst); props.setProperty(FIFOBandwidthRefiller.PROP_INBOUND_BANDWIDTH_PEAK, ""+inBurst);
props.setProperty(TrivialBandwidthLimiter.PROP_OUTBOUND_BANDWIDTH_PEAK, ""+outBurst); props.setProperty(FIFOBandwidthRefiller.PROP_OUTBOUND_BANDWIDTH_PEAK, ""+outBurst);
//props.setProperty(TrivialBandwidthLimiter.PROP_REPLENISH_FREQUENCY, ""+10*1000); //props.setProperty(TrivialBandwidthLimiter.PROP_REPLENISH_FREQUENCY, ""+10*1000);
System.setProperties(props); System.setProperties(props);
((TrivialBandwidthLimiter)_context.bandwidthLimiter()).reinitialize(); _context.bandwidthLimiter().reinitialize();
_log.debug("Limiter prepared");
} }
/** /**
...@@ -95,15 +96,17 @@ public class BandwidthLimiterTest { ...@@ -95,15 +96,17 @@ public class BandwidthLimiterTest {
*/ */
public void testOutbound() { public void testOutbound() {
prepareLimiter(-1, -1, -1, -1); prepareLimiter(-1, -1, -1, -1);
_log.info("Begin unlimited push of " + NUM_MB);
long ms = testOutboundThrottle(NUM_MB*1024*1024, 32*1024); long ms = testOutboundThrottle(NUM_MB*1024*1024, 32*1024);
_log.info("** Unlimited pushed " + NUM_MB + "MB in " + ms + "ms"); _log.info("** Unlimited pushed " + NUM_MB + "MB in " + ms + "ms");
prepareLimiter(-1, 4, -1, 5*1024*1024); prepareLimiter(-1, 4, -1, 5*1024*1024);
ms = testOutboundThrottle(NUM_MB*1024*1024, 32*1024); ms = testOutboundThrottle(NUM_MB*1024*1024, 4*1024);
_log.info("** 4KBps pushed " + NUM_MB + "MB in " + ms + "ms"); _log.info("** 4KBps pushed " + NUM_MB + "MB in " + ms + "ms");
prepareLimiter(-1, 32, -1, 5*1024*1024); prepareLimiter(-1, 32, -1, 5*1024*1024);
ms = testOutboundThrottle(NUM_MB*1024*1024, 32*1024); ms = testOutboundThrottle(NUM_MB*1024*1024, 32*1024);
_log.info("** 32KBps pushed " + NUM_MB + "MB in " + ms + "ms"); _log.info("** 32KBps pushed " + NUM_MB + "MB in " + ms + "ms");
prepareLimiter(-1, 256, -1, 5*1024*1024); prepareLimiter(-1, 256, -1, 5*1024*1024);
_log.info("Begin 256KBps push of " + NUM_MB);
ms = testOutboundThrottle(NUM_MB*1024*1024, 256*1024); ms = testOutboundThrottle(NUM_MB*1024*1024, 256*1024);
_log.info("** 256KBps pushed " + NUM_MB + "MB in " + ms + "ms"); _log.info("** 256KBps pushed " + NUM_MB + "MB in " + ms + "ms");
} }
...@@ -135,11 +138,11 @@ public class BandwidthLimiterTest { ...@@ -135,11 +138,11 @@ public class BandwidthLimiterTest {
long runningTimes[] = testOutboundContention(10, NUM_MB*1024*1024); long runningTimes[] = testOutboundContention(10, NUM_MB*1024*1024);
long end = System.currentTimeMillis(); long end = System.currentTimeMillis();
_log.info("** Done with unlimited " + NUM_MB + "MB test with 10 concurrent threads after " + (end-start) + "ms: " + displayTimes(runningTimes)); _log.info("** Done with unlimited " + NUM_MB + "MB test with 10 concurrent threads after " + (end-start) + "ms: " + displayTimes(runningTimes));
prepareLimiter(-1, 4, -1, 5*1024*1024); //prepareLimiter(-1, 4, -1, 5*1024*1024);
start = System.currentTimeMillis(); //start = System.currentTimeMillis();
runningTimes = testOutboundContention(10, NUM_MB*1024*1024); //runningTimes = testOutboundContention(10, NUM_MB*1024*1024);
end = System.currentTimeMillis(); //end = System.currentTimeMillis();
_log.info("** Done with 4KBps " + NUM_MB + "MB test with 10 concurrent threads after " + (end-start) + "ms: " + displayTimes(runningTimes)); //_log.info("** Done with 4KBps " + NUM_MB + "MB test with 10 concurrent threads after " + (end-start) + "ms: " + displayTimes(runningTimes));
prepareLimiter(-1, 32, -1, 5*1024*1024); prepareLimiter(-1, 32, -1, 5*1024*1024);
start = System.currentTimeMillis(); start = System.currentTimeMillis();
runningTimes = testOutboundContention(10, NUM_MB*1024*1024); runningTimes = testOutboundContention(10, NUM_MB*1024*1024);
...@@ -201,8 +204,8 @@ public class BandwidthLimiterTest { ...@@ -201,8 +204,8 @@ public class BandwidthLimiterTest {
public static void main(String args[]) { public static void main(String args[]) {
BandwidthLimiterTest test = new BandwidthLimiterTest(); BandwidthLimiterTest test = new BandwidthLimiterTest();
test.testOutbound(); //test.testOutbound();
test.testInbound(); //test.testInbound();
test.testOutboundContention(); test.testOutboundContention();
System.exit(0); System.exit(0);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment