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