#server-performance

Profiluri optimizate pentru optimizarea sarcinilor de lucru ale serverelor Linux

16 min citire - 9 iunie 2026

hero section cover

Cum să alegeți, să aplicați și să personalizați profiluri optimizate pentru servere Linux cu GPU, baze de date și lățime de bandă mare, cu exemple și sfaturi de implementare Ansible.

profiluri optimizate pentru optimizarea sarcinii de lucru a serverului

Setările implicite ale sistemului Linux sunt configurate pentru compatibilitate, nu pentru performanță. Daemonul „tuned” oferă profiluri predefinite care ajustează regulatoarele CPU, programatoarele I/O, parametrii kernelului și bufferele de rețea pentru a se potrivi cu o sarcină de lucru specifică. Acest articol explică modul în care funcționează profilurile, care dintre ele trebuie ales pentru rolurile obișnuite ale serverelor și cum se pot crea și implementa profiluri personalizate într-un parc de servere.


 

Cum funcționează profilurile personalizate

Un profil este un director din cadrul /usr/lib/tuned/profiles/ (sistem) sau /etc/tuned/profiles/ (personalizat) care conține un tuned.conf fișier. Fișierul de configurare grupează parametrii pe plugin: [cpu], [disk], [sysctl], [vm], [bootloader], și așa mai departe. Activați un profil, iar daemonul tuned aplică toți parametrii dintr-o singură mișcare, în loc să ruleze zeci de sysctl și sysfs comenzi manual.

Profilurile se pot moșteni unele de la altele cu ajutorul include . Profilul throughput-performance profil, de exemplu, poate servi drept bază pentru un profil de bază de date personalizat care suprascrie doar vm.swappiness setarea „Transparent Huge Pages”.

Optimizarea funcționează în două moduri. Optimizarea statică aplică profilul o singură dată la activare și nu mai intervine asupra sistemului, ceea ce este de dorit pe serverele de producție, unde consecvența contează mai mult decât economiile de energie. Optimizarea dinamică monitorizează utilizarea discului, a rețelei și a încărcării în timp real și ajustează setările pe parcurs. Profilurile de performanță dezactivează optimizarea dinamică în mod implicit pentru a evita suprasolicitarea generată de monitorizare.

Alegerea profilului potrivit pentru sarcina dvs. de lucru

tuned oferă o duzină de profiluri care acoperă cele mai comune sarcini de lucru. Alegeți-l pe cel care corespunde cu ceea ce face efectiv serverul, în loc să lăsați balanced .

Sarcină de lucruProfilCe face
Antrenare și inferență GPUaccelerator-performanceBlochează CPU-ul în stări C joase, menținând latența dintre CPU și GPU sub 100 µs
Baze de date (Postgres, MySQL, Redis)throughput-performanceDezactivează economisirea de energie, optimizează I/O-ul discului și al rețelei, dezactivează Transparent Huge Pages
Rețele cu lățime de bandă mare (CDN, replicare, fluxuri de date)network-throughputMărește bufferele de rețea ale kernel-ului pentru transferuri susținute cu lățime de bandă mare
Servicii sensibile la latențănetwork-latency sau latency-performanceFixează regulatorul procesorului la performance, dezactivează stările C profunde
HPC și clustere de calculhpc-computeÎmbunătățește raportul latență-performanță prin optimizarea NUMA și a memoriei
Instanțe VPS (sistem de operare oaspete)virtual-guestReduce swappiness-ul, mărește citirea anticipată de pe disc pentru I/O paravirtualizat
Gazde cu hipervizor KVMvirtual-hostOptimizează reînregistrarea paginilor modificate pentru sarcinile de lucru ale mașinilor virtuale
Mixte sau necunoscutebalancedImplicit. Compromite performanța în favoarea eficienței energetice

Pentru anumite motoare de baze de date, tuned este livrat și postgresql, mssql, precum și oracle profilele care merg mai departe decât throughput-performance prin reglarea parametrilor memoriei partajate și ai programatorului de sarcini al kernel-ului pentru acele motoare.

Pe serverele cu mai multe socluri, topologia NUMA este importantă. Accesul la memoria nodurilor la distanță poate fi de două până la trei ori mai lent decât accesul local. Pentru sarcinile de lucru în care latența este critică pe sistemele cu două socluri, dezactivați echilibrarea automată NUMA în profil și alocați manual procesele la noduri specifice.

Instalarea și aplicarea profilurilor

Instalați tuned pe RHEL, Rocky, AlmaLinux sau Fedora:

dnf install tuned
systemctl enable --now tuned

Pe Debian și Ubuntu, pachetul se numește, de asemenea, tuned și se instalează prin apt. Dacă power-profiles-daemon este deja în execuție, mascați-l pentru a evita conflictele:

systemctl mask --now power-profiles-daemon

Afișați profilurile disponibile, întrebați tuned ce recomandă pentru hardware, aplicați un profil și verificați-l:

tuned-adm list
tuned-adm recommend
tuned-adm profile throughput-performance
tuned-adm verify

Profilul activ este stocat în /etc/tuned/active_profile și se păstrează chiar și după repornire. Pentru a elimina complet optimizarea și a măsura valoarea de referință, rulați tuned-adm off.

Crearea unui profil personalizat pentru sarcini de lucru legate de AI, ML și lățime de bandă mare

Când profilurile standard vă ajută să parcurgeți 90% din proces, creați un profil personalizat care moștenește setările celui mai apropiat profil și suprascrie parametrii rămași. Începeți cu un director și un fișier de configurare:

mkdir -p /etc/tuned/ai-gpu
cat > /etc/tuned/ai-gpu/tuned.conf <<'EOF'
[main]
summary=Custom profile for GPU training with high-bandwidth networking
include=accelerator-performance
 
[cpu]
governor=performance
 
[sysctl]
kernel.numa_balancing=0
net.core.rmem_max=268435456
net.core.wmem_max=268435456
net.ipv4.tcp_rmem=4096 87380 268435456
net.ipv4.tcp_wmem=4096 65536 268435456
 
[vm]
transparent_hugepages=never
 
[bootloader]
cmdline=hugepagesz=2M hugepages=16384 <a target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit">iommu</a>=pt
EOF
 
tuned-adm profile ai-gpu

Opțiunile cheie aici:

  • numa_balancing=0 împiedică kernelul să migreze memoria între socluri în timpul sesiunilor de antrenare, o sursă frecventă de blocaj pe sistemele GPU cu două socluri.
  • Opțiunea rmem_max și tcp_rmem măresc limita maximă a bufferului de socket la 256 MB. Pe interconectările de 25G, 40G sau 100G dintre nodurile de antrenare, dimensiunile implicite ale bufferului limitează debitul la un nivel mult sub rata de linie.
  • transparent_hugepages=never elimină variațiile de latență cauzate de THP pentru framework-uri precum PyTorch și TensorFlow, care alocă tensori de dimensiuni mari.
  • iommu=pt setează IOMMU în modul passthrough, necesar pentru passthrough-ul GPU și NIC, și reduce suprasarcina la DMA bare-metal.

Orice opțiune de mai jos [bootloader] necesită o repornire. După activarea profilului, rulați tuned-adm verify pentru a confirma aplicarea parametrilor de rulare și verificați journalctl -u tuned dacă există erori. Efectuați teste de performanță înainte și după cu iostat -xz, numastatși instrumentul relevant de testare a sarcinii de lucru (iperf3, fiosau execuția efectivă de antrenare).

Un compromis care merită menționat în mod explicit: dezactivarea măsurilor de securitate ale procesorului (CPU) aduce un câștig de aproximativ 3-8% la sarcinile de lucru pe GPU, dar costă 15-30% la sarcinile de lucru cu modele intense de apeluri de sistem. Luați decizia în funcție de modelul de amenințare pentru sistem. În interiorul unui cluster dedicat de antrenare, protejat de un firewall, calculele indică de obicei dezactivarea acestora. Pe o gazdă multi-tenant, lăsați-le activate.

Gestionarea profilurilor într-un parc de servere

Aplicarea comenzii „tuned” manual nu mai este viabilă odată ce numărul de servere depășește câteva. Ansible gestionează această situație în mod eficient. Un singur playbook instalează „tuned” și creează directoare de profiluri personalizate în /etc/tuned/ prin intermediul template modulului și aplică profilul potrivit pentru fiecare grup de inventar.

Asocierea profilurilor cu rolurile din inventar:

  • Noduri GPU și AI: accelerator-performance, sau un profil personalizat care moștenește de la acesta
  • Servere de baze de date: throughput-performance sau profilul specific motorului
  • Noduri CDN și de margine care transmit trafic cu lățime de bandă mare: network-throughput
  • Servere API și web aflate în spatele unui echilibrator de sarcină: network-latency
  • Oaspeți VPS și KVM: virtual-guest
  • Gazde hipervizor: virtual-host

Abaterea este adevărata problemă operațională. Modificările manuale sysctl , actualizările de pachete care introduc noi setări implicite sau un alt instrument de gestionare a configurației care interferează cu „tuned” vor determina toate ca setările să se abată de la cele specificate în profil. Programați o sarcină Ansible care să ruleze tuned-adm active și tuned-adm verify prin cron și să trimită alerte în caz de eșecuri. Urmăriți /var/log/tuned/tuned.log dacă apar rânduri de tipul „Verificarea a eșuat”.

Concluzie

tuned elimină în mare parte incertitudinile legate de optimizarea kernelului și a sysctl. Setările implicite sunt suficient de bune pentru utilizarea generală, iar profilurile specifice sarcinilor de lucru, precum accelerator-performance, throughput-performance, și network-throughput vă ajută să ajungeți aproape de optimizare fără a scrie niciun fișier de configurare.

  • Alegeți profilul standard cel mai apropiat, rulați tuned-adm verify, apoi efectuați un test de performanță
  • Creați profiluri personalizate moștenind dintr-un profil standard și modificând doar ceea ce aveți nevoie
  • Acordați o atenție deosebită echilibrării NUMA, paginilor uriașe și dimensiunilor bufferelor de rețea pe sistemele cu GPU și cu lățime de bandă mare
  • Implementați cu Ansible și efectuați audituri periodice pentru a detecta abaterile

Aveți nevoie de capacitate bare-metal cu lățime de bandă suficientă pentru a utiliza efectiv aceste setări? Discutați cu FDC despre serverele dedicate, concepute pentru sarcini de lucru cu randament ridicat și pe GPU.

Blog

În prim plan săptămâna aceasta

Mai multe articole
Tutorial iperf3: Testați viteza rețelei pe Linux și Windows
#bandwidth#server-performance

Tutorial iperf3: Testați viteza rețelei pe Linux și Windows

Instalați iperf3, efectuați teste de lățime de bandă și reglați bufferele TCP pentru a obține rezultate precise pe Linux și Windows. Acoperă testarea UDP, bidirecțională și 10GbE+.

10 min citire - 7 mai 2026

Mai multe articole
background image

Aveți întrebări sau aveți nevoie de o soluție personalizată?

icon

Opțiuni flexibile

icon

Acoperire globală

icon

Implementare instantanee

icon

Opțiuni flexibile

icon

Acoperire globală

icon

Implementare instantanee