Pomalost nacitani pravidel pro tc (shaping)
Dalibor Toman
dtoman na fortech.cz
Čtvrtek Leden 11 14:34:41 CET 2018
DD,
na jednom stroji se mi nacitaji dlouho pravidla pro shaping (cca 20 az
50 sekund podle aktualni zateze stroje). Zajimave na tom je, ze pokud
stejnou sadu pravidel vezmu na jiny server, tak nacitani trva vyrazne
kratsi dobu. Na nekterych strojich <2sec, na nekterych 4 sec a jinde
kolem 7 sec. Snazil jsem se najit nejakou zavislost ale krome toho, ze
cim novejsi a vykonnejsi CPU/RAM tim o neco pomalejsi nacitani, jsem
nenasel zatim vysvetleni, proc by to misto sekund melo trvat desitky sekund.
Na stole mam stejny mainboard a CPU (Xeon E3-1260L v5 Supermicro
X11SSH-LN4F) jako v tom extremne pomalem serveru a casy nacitani jsou
kolem 4 sekund. Konfigurace se v nekterych aspektech lisi (pomaly server
ma bondovane sitovky) a samozrejme server na stole neni zatizeny tokem.
V dalsich testech, ktere jsem zkousel, se zda byt vykon tech stroju
srovnatelny. Testoval jsem na stole nekolik verzi jader (bohuzel uplne
stejne jako v tom pomalem serveru jsem nesehnal), zkousel zapinat
hyperthreading a cas nacitani pravidel se nemenil.
Na tom 'pomalem' stroji je aktualne Scientific Linux 6.7 a jadro
2.6.32-642.13.1.el6.x86_64. Upgrade jadra jsem zatim nezkousel, teploty
CPU jsou v norme...
Jedna se o cca 3000 class pro kazdy smer ulozenych v souboru a
nacitanych pomoci
/sbin/tc -batch < soubor_s_definici
Z nejakeho duvodu na tom 'pomalem' serveru bezi (jako na jedinem) rizeni
spotreby cpu ale ani prepnuti governoru na performance ani po vyhozeni
vsech modulu pro rizeni CPU se nic nezmenilo. Pomaly server' neni
schopen pri reloadu pravidel vytizit poradne jadro - mozna kvuli zamkum
v jadre mozna kvuli necemu jinemu.
# turbostat time ./htb_init
* Clearing the qdisc on dev bon0
* Clearing the qdisc on dev bon1
* Loading customer shapers
0.14user 38.18system 0:42.27elapsed 90%CPU (0avgtext+0avgdata
1244maxresident)k
0inputs+16outputs (0major+2355minor)pagefaults 0swaps
CPU Avg_MHz %Busy Bzy_MHz TSC_MHz
- 1565 43.41 3605 2904
0 1210 33.55 3605 2904
1 1342 37.22 3605 2904
2 1145 31.75 3605 2904
3 2565 71.14 3605 2904
42.280332 sec
# turbostat time ./htb_init
* Clearing the qdisc on dev eth0
* Clearing the qdisc on dev eth1
* Loading customer shapers
0.13user 4.07system 0:04.24elapsed 99%CPU (0avgtext+0avgdata
1244maxresident)k
0inputs+8outputs (0major+2035minor)pagefaults 0swaps
CPU Avg_MHz %Busy Bzy_MHz TSC_MHz
- 723 25.96 2900 2904
0 8 0.29 2887 2904
1 6 0.23 2900 2904
2 2873 103.18 2900 2904
3 4 0.13 2899 2904
4.252512 sec
--
Kdyby nekoho napadlo co by to mohlo zpusobovat byl bych rad...
--
Dalibor Toman
Další informace o konferenci Linux