Categories
Ubuntu

TCP/IP tunning in Ubuntu cu ajutorul sysctl

Acest articol este legat de ce setări suplimentare se mai pot face pentru a mai îmbunătăți performanțele de rețea în Linux în general și în Ubuntu în special.

Ca idee, fișierele în care ne putem “juca” de-a tunningul se găsesc in urmatoarea locatie: /proc/sys/net/ipv4

Modificarile se pot face ori direct în fișierele de aici ori, pentru a le da caracter de permanență, in: /etc/sysctl.conf  (Personal, aici îmi place mie sa le țin, pentru a le putea exporta cat mai ușor și pe alte mașini).

La fiecare mașina pe care o fac, eu personal modific (adaug dupa caz) următoarele valori:

tcp_fin_timeout : Câte secunde va aștepta TCP sa primească notificarea FIN până ce va inchide definitiv socketul de comunicare. Este ceea ce se numește pe la unii “variabilă de persistență”. Este util sa stim si să modificăm aceasta valoare pentru a putea evita eventuale atacuri de tip DOS.

tcp_syn_retries : De câte ori va incerca o conexiune TCP sa retransmită pachetele de SYN. Din punctul meu de vedere, valoarea optimă nu trebuie sa depășească 255, eu unul, o țin la 150. Oricum, se referă in principiu doar la timeout-uri pentru conexiunile spre exterior.

tcp_retries1 : Cât de des se va încerca retransmiterea răspunsultui pentru o cerere de conexiune TCP. Se refera la conexiunile către interior.

tcp_keepalive_time : Cât de des se trimit mesaje de KEEPALIVE. Valoarea de bază este de 7200 secunde.

tcp_keepalive_probes : De câte ori se va încerca retransmiterea mesajelor de KEEPALIVE până ce serverul va considera conexiunea ca fiind întreruptă.

net.ipv4.conf.all.log_martians: Se loghează pachetele care nu au identificator de inițiator, adică se prezintă ca venind de pe Marte eventual 🙂

Ca idee, trebuie sa ne jucăm cu grija prin sysctl.conf pentru ca la fel de ușor putem să și bălmăjim lucrurile încât să mergăși mai rău:)

Categories
Linux

Monitorizare MySQL

Astazi am constatat ca unul din serverele de MySQL se comporta putin ciudat, in sensul ca uneori raspundea destul de greu inclusiv la niste solicitari nu foarte mancatorare de resurse.

Cautand o solutie de monitorizare, am gasit in repozitorii o aplicatie mica si frumoasa, care m-a ajutat sa ma prind ce si cum se intampla…. Se numeste “mtop” si este scrisa in Perl. Dupa descriere: “Shows top mysql threads”

Asa ca… $ sudo apt-get install mtop si mai apoi

test:~$ mtop –dbuser=alex –password=parolamea –seconds=1

mtop - Shows top mysql threads
mtop - Shows top mysql threads