chGoodchild / GLTollGate

6 stars 2 forks source link

Expected data consumption doesn't match measured consumption #1

Open chGoodchild opened 3 months ago

chGoodchild commented 3 months ago

I still need to perform the measurement manually to verify that the measurement is correct...

GLTollGate$ ./download_mbs.sh 250
Warning: using existing /tmp/usage.db
Initial ndsctl data: downloaded = 13541, uploaded = 0
Running iperf3 to download 250 MB
Connecting to host 178.18.252.85, port 5201
[  5] local 192.168.8.152 port 32842 connected to 178.18.252.85 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  9.63 MBytes  80.8 Mbits/sec    0   1.04 MBytes       
[  5]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.04 MBytes       
[  5]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.04 MBytes       
[  5]   3.00-4.00   sec  11.2 MBytes  94.3 Mbits/sec    0   1.13 MBytes       
[  5]   4.00-5.00   sec  10.0 MBytes  83.9 Mbits/sec    0   1.13 MBytes       
[  5]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.13 MBytes       
[  5]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.25 MBytes       
[  5]   7.00-8.00   sec  11.2 MBytes  94.3 Mbits/sec    0   1.33 MBytes       
[  5]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  10.00-11.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  11.00-12.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  12.00-13.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  13.00-14.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  14.00-15.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  15.00-16.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  16.00-17.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  17.00-18.00  sec  11.2 MBytes  94.4 Mbits/sec    0   1.44 MBytes       
[  5]  18.00-19.00  sec  10.0 MBytes  83.9 Mbits/sec    0   1.44 MBytes       
[  5]  19.00-20.00  sec  12.5 MBytes   105 Mbits/sec    0   1.44 MBytes       
[  5]  20.00-21.00  sec  10.0 MBytes  83.9 Mbits/sec    0   2.17 MBytes       
[  5]  21.00-21.58  sec  7.50 MBytes   109 Mbits/sec    0   2.17 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-21.58  sec   240 MBytes  93.2 Mbits/sec    0             sender
[  5]   0.00-21.65  sec   237 MBytes  91.7 Mbits/sec                  receiver

iperf Done.
Warning: using existing /tmp/usage.db
Expected data download: 250 MB.
Actual data downloaded (wrtbwmon): 10 MB.
Actual data uploaded (wrtbwmon): 69 MB.
chGoodchild commented 3 months ago

I checked manually and the data measurement is still wrong.

Data before 28:d2:44:64:f1:f7 runs iperf:

root@GL-AR300M:/tmp/markers# wrtbwmon setup /tmp/usage.db
root@GL-AR300M:/tmp/markers# wrtbwmon update /tmp/usage.db
root@GL-AR300M:/tmp/markers# cat /tmp/usage.db
#mac,ip,iface,in,out,total,first_date,last_date
28:d2:44:64:f1:f7,192.168.8.152,br-lan,932,1192,2124,25-06-2024_20:55:15,25-06-2024_20:55:15
7c:7a:91:86:a1:0f,10.10.243.224,wlan-sta0,0,246,246,25-06-2024_20:55:15,25-06-2024_20:55:15
2c:5a:0f:9d:87:11,10.10.243.254,wlan-sta0,0,0,0,25-06-2024_20:55:15,25-06-2024_20:55:15

Iperf on 28:d2:44:64:f1:f7:

$ iperf3 -c 178.18.252.85 -n 500000000
Connecting to host 178.18.252.85, port 5201
[  5] local 192.168.8.152 port 34236 connected to 178.18.252.85 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  6.92 MBytes  58.1 Mbits/sec  300    484 KBytes       
[  5]   1.00-2.00   sec  5.00 MBytes  41.9 Mbits/sec    3    488 KBytes       
[  5]   2.00-3.00   sec  5.00 MBytes  41.9 Mbits/sec    0    519 KBytes       
[  5]   3.00-4.00   sec  6.25 MBytes  52.4 Mbits/sec    0    536 KBytes       
[  5]   4.00-5.00   sec  5.00 MBytes  41.9 Mbits/sec    0    544 KBytes       
[  5]   5.00-6.00   sec  5.00 MBytes  41.9 Mbits/sec    0    546 KBytes       
[  5]   6.00-7.00   sec  5.00 MBytes  41.9 Mbits/sec    0    546 KBytes       
[  5]   7.00-8.00   sec  6.25 MBytes  52.4 Mbits/sec    0    547 KBytes       
[  5]   8.00-9.00   sec  5.00 MBytes  41.9 Mbits/sec    5    426 KBytes       
[  5]   9.00-10.00  sec  5.00 MBytes  41.9 Mbits/sec    0    477 KBytes       
[  5]  10.00-11.00  sec  6.25 MBytes  52.4 Mbits/sec    0    512 KBytes       
[  5]  11.00-12.00  sec  5.00 MBytes  41.9 Mbits/sec    0    533 KBytes       
[  5]  12.00-13.00  sec  5.00 MBytes  41.9 Mbits/sec    0    544 KBytes       
[  5]  13.00-14.00  sec  5.00 MBytes  41.9 Mbits/sec    0    547 KBytes       
[  5]  14.00-15.00  sec  6.25 MBytes  52.4 Mbits/sec    2    390 KBytes       
[  5]  15.00-16.00  sec  5.00 MBytes  41.9 Mbits/sec    0    451 KBytes       
[  5]  16.00-17.00  sec  5.00 MBytes  41.9 Mbits/sec   36    333 KBytes       
[  5]  17.00-18.00  sec  3.75 MBytes  31.5 Mbits/sec    0    263 KBytes       
[  5]  18.00-19.00  sec  5.00 MBytes  41.9 Mbits/sec    0    280 KBytes       
[  5]  19.00-20.00  sec  3.75 MBytes  31.5 Mbits/sec    0    287 KBytes       
[  5]  20.00-21.00  sec  5.00 MBytes  41.9 Mbits/sec    0    288 KBytes       
[  5]  21.00-22.00  sec  3.75 MBytes  31.5 Mbits/sec    0    295 KBytes       
[  5]  22.00-23.00  sec  5.00 MBytes  41.9 Mbits/sec    0    308 KBytes       
[  5]  23.00-24.00  sec  5.00 MBytes  41.9 Mbits/sec    0    319 KBytes       
[  5]  24.00-25.00  sec  5.00 MBytes  41.9 Mbits/sec    0    330 KBytes       
[  5]  25.00-26.00  sec  5.00 MBytes  41.9 Mbits/sec    0    342 KBytes       
[  5]  26.00-27.00  sec  5.00 MBytes  41.9 Mbits/sec    0    378 KBytes       
[  5]  27.00-28.00  sec  5.00 MBytes  41.9 Mbits/sec    0    437 KBytes       
[  5]  28.00-29.00  sec  5.00 MBytes  41.9 Mbits/sec    1    356 KBytes       
[  5]  29.00-30.00  sec  6.25 MBytes  52.4 Mbits/sec    0    413 KBytes       
[  5]  30.00-31.00  sec  5.00 MBytes  41.9 Mbits/sec    0    453 KBytes       
[  5]  31.00-32.00  sec  5.00 MBytes  41.9 Mbits/sec    0    478 KBytes       
[  5]  32.00-33.00  sec  5.00 MBytes  41.9 Mbits/sec   28    346 KBytes       
[  5]  33.00-34.00  sec  6.25 MBytes  52.4 Mbits/sec    0    380 KBytes       
[  5]  34.00-35.00  sec  5.00 MBytes  41.9 Mbits/sec    0    401 KBytes       
[  5]  35.00-36.00  sec  5.00 MBytes  41.9 Mbits/sec    0    412 KBytes       
[  5]  36.00-37.00  sec  5.00 MBytes  41.9 Mbits/sec    0    415 KBytes       
[  5]  37.00-38.00  sec  6.25 MBytes  52.4 Mbits/sec    0    415 KBytes       
[  5]  38.00-39.00  sec  5.00 MBytes  41.9 Mbits/sec    0    415 KBytes       
[  5]  39.00-40.00  sec  5.00 MBytes  41.9 Mbits/sec    0    419 KBytes       
[  5]  40.00-41.00  sec  5.00 MBytes  41.9 Mbits/sec    0    430 KBytes       
[  5]  41.00-42.00  sec  6.25 MBytes  52.4 Mbits/sec    0    451 KBytes       
[  5]  42.00-43.00  sec  5.00 MBytes  41.9 Mbits/sec    0    485 KBytes       
[  5]  43.00-44.00  sec  5.00 MBytes  41.9 Mbits/sec    0    536 KBytes       
[  5]  44.00-45.00  sec  5.00 MBytes  41.9 Mbits/sec    9    418 KBytes       
[  5]  45.00-46.00  sec  6.25 MBytes  52.4 Mbits/sec    0    480 KBytes       
[  5]  46.00-47.00  sec  5.00 MBytes  41.9 Mbits/sec    0    525 KBytes       
[  5]  47.00-48.00  sec  5.00 MBytes  41.9 Mbits/sec    5    385 KBytes       
[  5]  48.00-49.00  sec  5.00 MBytes  41.9 Mbits/sec   14    298 KBytes       
[  5]  49.00-50.00  sec  3.75 MBytes  31.5 Mbits/sec    0    318 KBytes       
[  5]  50.00-51.00  sec  5.00 MBytes  42.0 Mbits/sec    0    326 KBytes       
[  5]  51.00-52.00  sec  5.00 MBytes  41.9 Mbits/sec    0    329 KBytes       
[  5]  52.00-53.00  sec  5.00 MBytes  41.9 Mbits/sec    0    329 KBytes       
[  5]  53.00-54.00  sec  5.00 MBytes  41.9 Mbits/sec    0    338 KBytes       
[  5]  54.00-55.00  sec  5.00 MBytes  41.9 Mbits/sec    0    349 KBytes       
[  5]  55.00-56.00  sec  5.00 MBytes  41.9 Mbits/sec    0    359 KBytes       
[  5]  56.00-57.00  sec  5.00 MBytes  41.9 Mbits/sec    0    370 KBytes       
[  5]  57.00-58.00  sec  5.00 MBytes  41.9 Mbits/sec    0    405 KBytes       
[  5]  58.00-59.00  sec  5.00 MBytes  41.9 Mbits/sec    0    458 KBytes       
[  5]  59.00-60.00  sec  6.25 MBytes  52.4 Mbits/sec    0    533 KBytes       
[  5]  60.00-61.00  sec  5.00 MBytes  41.9 Mbits/sec    9    430 KBytes       
[  5]  61.00-62.00  sec  5.00 MBytes  41.9 Mbits/sec    0    489 KBytes       
[  5]  62.00-63.00  sec  6.25 MBytes  52.4 Mbits/sec    0    530 KBytes       
[  5]  63.00-64.00  sec  5.00 MBytes  41.9 Mbits/sec    0    555 KBytes       
[  5]  64.00-65.00  sec  5.00 MBytes  41.9 Mbits/sec    9    416 KBytes       
[  5]  65.00-66.00  sec  5.00 MBytes  41.9 Mbits/sec    0    447 KBytes       
[  5]  66.00-67.00  sec  6.25 MBytes  52.4 Mbits/sec    0    467 KBytes       
[  5]  67.00-68.00  sec  5.00 MBytes  41.9 Mbits/sec    0    475 KBytes       
[  5]  68.00-69.00  sec  5.00 MBytes  41.9 Mbits/sec    0    477 KBytes       
[  5]  69.00-70.00  sec  5.00 MBytes  41.9 Mbits/sec    0    477 KBytes       
[  5]  70.00-71.00  sec  6.25 MBytes  52.4 Mbits/sec   30    336 KBytes       
[  5]  71.00-72.00  sec  5.00 MBytes  41.9 Mbits/sec    0    392 KBytes       
[  5]  72.00-73.00  sec  5.00 MBytes  41.9 Mbits/sec    0    433 KBytes       
[  5]  73.00-74.00  sec  5.00 MBytes  41.9 Mbits/sec    0    457 KBytes       
[  5]  74.00-75.00  sec  6.25 MBytes  52.4 Mbits/sec    0    471 KBytes       
[  5]  75.00-76.00  sec  5.00 MBytes  41.9 Mbits/sec    0    477 KBytes       
[  5]  76.00-77.00  sec  5.00 MBytes  41.9 Mbits/sec    0    477 KBytes       
[  5]  77.00-78.00  sec  5.00 MBytes  41.9 Mbits/sec    0    477 KBytes       
[  5]  78.00-79.00  sec  6.25 MBytes  52.4 Mbits/sec    0    480 KBytes       
[  5]  79.00-80.00  sec  5.00 MBytes  41.9 Mbits/sec    0    488 KBytes       
[  5]  80.00-81.00  sec  5.00 MBytes  41.9 Mbits/sec    0    503 KBytes       
[  5]  81.00-82.00  sec  5.00 MBytes  41.9 Mbits/sec    0    534 KBytes       
[  5]  82.00-83.00  sec  6.25 MBytes  52.4 Mbits/sec   13    415 KBytes       
[  5]  83.00-84.00  sec  5.00 MBytes  41.9 Mbits/sec    0    471 KBytes       
[  5]  84.00-85.00  sec  5.00 MBytes  41.9 Mbits/sec    0    509 KBytes       
[  5]  85.00-86.00  sec  5.00 MBytes  41.9 Mbits/sec    0    534 KBytes       
[  5]  86.00-87.00  sec  6.25 MBytes  52.4 Mbits/sec   11    408 KBytes       
[  5]  87.00-88.00  sec  5.00 MBytes  41.9 Mbits/sec   44    304 KBytes       
[  5]  88.00-89.00  sec  3.75 MBytes  31.4 Mbits/sec    0    335 KBytes       
[  5]  89.00-90.00  sec  5.00 MBytes  41.9 Mbits/sec    0    354 KBytes       
[  5]  90.00-91.00  sec  5.00 MBytes  41.9 Mbits/sec    0    363 KBytes       
[  5]  91.00-91.74  sec  5.00 MBytes  56.3 Mbits/sec    0    366 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-91.74  sec   477 MBytes  43.6 Mbits/sec  519             sender
[  5]   0.00-91.82  sec   473 MBytes  43.3 Mbits/sec                  receiver

iperf Done.

Usage after running iperf:

root@GL-AR300M:/tmp/markers# wrtbwmon update /tmp/usage.db
root@GL-AR300M:/tmp/markers# cat /tmp/usage.db
#mac,ip,iface,in,out,total,first_date,last_date
28:d2:44:64:f1:f7,192.168.8.152,br-lan,9800,18679,28479,25-06-2024_20:55:15,25-06-2024_20:57:07
7c:7a:91:86:a1:0f,10.10.243.224,wlan-sta0,0,369,369,25-06-2024_20:55:15,25-06-2024_20:57:07
2c:5a:0f:9d:87:11,10.10.243.254,wlan-sta0,0,0,0,25-06-2024_20:55:15,25-06-2024_20:55:15

Clearly 477 MBytes were consumed by 28:d2:44:64:f1:f7, but wrtbwmon returns 28479 − 2124 = 26355 and this number doesn't change proportionally to changes in the amount of traffic from iperf.

chGoodchild commented 2 months ago

It looks like tools that depend on IPTables are producing inaccurate measurements. Perhaps due to the way that IPTables in configured. The GLAR300m tracks data consumption in its GUI. It may may sense to look into how that is done...

https://ixnfo.com/en/iptables-rules-for-iperf.html