Monitoring I2P performance

There has been some competion coming up. Welcome! Facts speak for themselves. We will have a post about network performance later and now give you a tool for comparing CPU-specific figures. Context switches, CPU usage, time slices, length of thread activation runs, TCP packet loss, we have it all.

Bash script developed on Debian Linux. Others will most likely need to adapt. Run on your current install, save figures, update to I2Speed and compare.

I2P performance can only be measured after the router has integrated into the network for some time. Synthetic tests do not work, they may stumble over bugs or software limits.

Sample output at around 4000 tunnels, 2,500 KBps throughput, 8 core ARM 32, seeding lots of torrents (24 hours uptime recommended):

CPU 419 %  TCP Retransmissons 16 
            Ctx switches/sec    CPU ms/s timeslice us   activ us
Thread Pool  vol  nvol total   run  wait   run  wait   run  wait
BuildExec      6     3     8    35     4  4149   480  6080   704
BuildHand      4    32    36   205    12  5616   318 48311  2735
DH_Precal      1     7     8    66     3  7999   411 85394  4392
G1_Conc_0      0     2     2    69     1 29395   242687846  5658
GC_Thread     10     2    13    62     7  4922   563  5999   687
I2CP_Inte     20     0    20     3     4   143   220   143   220
I2CP_Read     45     0    46    17     7   364   162   364   162
I2CP_Writ     35     0    35     5     6   132   174   132   174
JobQueue_    859   303  1161  1570   186  1352   160  1828   217
NTCP_Pump    598   211   809   671    43   830    54  1124    73
PRNG           1     5     6    26     3  4333   439 32074  3247
SimpleTim      1     0     2     3     0  1797   244  2384   324
UDP_Estab      9    14    23    86     6  3772   269  9800   698
UDP_Messa    370    93   463   596    73  1288   158  1611   198
UDP_packe    231    98   329   256    54   780   165  1111   235
UDPReceiv    415    66   481   239    77   497   160   576   186
XDH_Preca      1     3     4    20     2  4865   369 25239  1916
YK_Precal      1    13    14   192     5 13961   349285879  7148

How to read:

Please note that other I2P versions use shorter crypto keys on this hardware. That reduces their CPU usage mainly in YK Precalc and I2CP* (we have that in the JobQueue instead of I2CP*).


Questions welcome.

Updated 200316

<-- Back