#server-performance

Προσαρμοσμένα προφίλ για τη βελτιστοποίηση του φόρτου εργασίας διακομιστών Linux

16 λεπτά ανάγνωσης - 9 Ιουνίου 2026

hero section cover

Πώς να επιλέξετε, να εφαρμόσετε και να προσαρμόσετε βελτιστοποιημένα προφίλ για διακομιστές Linux με GPU, βάσεις δεδομένων και υψηλού εύρους ζώνης, με παραδείγματα και συμβουλές ανάπτυξης με Ansible.

προσαρμοσμένα προφίλ για τη βελτιστοποίηση του φόρτου εργασίας των διακομιστών

Οι προεπιλεγμένες ρυθμίσεις του Linux είναι προσαρμοσμένες για συμβατότητα, όχι για απόδοση. Το daemon «tuned» παρέχει προκαθορισμένα προφίλ που ρυθμίζουν τους ρυθμιστές της CPU, τους χρονοπρογραμματιστές εισόδου-εξόδου (I/O), τις παραμέτρους του πυρήνα και τα buffer δικτύου, ώστε να ταιριάζουν με ένα συγκεκριμένο φορτίο εργασίας. Αυτή η ανάρτηση καλύπτει τον τρόπο λειτουργίας των προφίλ, ποιο να επιλέξετε για συνήθεις ρόλους διακομιστών, καθώς και πώς να δημιουργήσετε και να αναπτύξετε προσαρμοσμένα προφίλ σε έναν στόλο διακομιστών.


 

Πώς λειτουργούν τα προσαρμοσμένα προφίλ

Ένα προφίλ είναι ένας κατάλογος κάτω από /usr/lib/tuned/profiles/ (system) ή /etc/tuned/profiles/ (custom) που περιέχει ένα tuned.conf αρχείο. Το αρχείο conf ομαδοποιεί τις παραμέτρους ανά πρόσθετο: [cpu], [disk], [sysctl], [vm], [bootloader], και ούτω καθεξής. Ενεργοποιήστε ένα προφίλ και το δαίμονα του tuned εφαρμόζει όλες τις παραμέτρους με μία κίνηση, αντί να εκτελεί δεκάδες sysctl και sysfs εντολές με το χέρι.

Τα προφίλ μπορούν να κληρονομούν το ένα από το άλλο με τη include οδηγία. Το throughput-performance προφίλ, για παράδειγμα, μπορεί να χρησιμεύσει ως βάση για ένα προσαρμοσμένο προφίλ βάσης δεδομένων που αντικαθιστά μόνο vm.swappiness και τη ρύθμιση Transparent Huge Pages.

Το tuned λειτουργεί σε δύο τρόπους. Η στατική ρύθμιση εφαρμόζει το προφίλ μία φορά κατά την ενεργοποίηση και δεν παρεμβαίνει περαιτέρω στο σύστημα, κάτι που είναι επιθυμητό σε διακομιστές παραγωγής όπου η συνέπεια έχει μεγαλύτερη σημασία από την εξοικονόμηση ενέργειας. Η δυναμική ρύθμιση παρακολουθεί τη χρήση του δίσκου, του δικτύου και του φορτίου σε πραγματικό χρόνο και προσαρμόζει τις ρυθμίσεις εν κινήσει. Τα προφίλ απόδοσης απενεργοποιούν τη δυναμική ρύθμιση από προεπιλογή, προκειμένου να αποφευχθεί το επιπλέον φορτίο της παρακολούθησης.

Επιλογή του κατάλληλου προφίλ για το φορτίο εργασίας σας

Το tuned παρέχει δώδεκα προφίλ που καλύπτουν τους πιο συνηθισμένους φόρτους εργασίας. Επιλέξτε αυτό που αντιστοιχεί στην πραγματική λειτουργία του διακομιστή, αντί να αφήσετε το προεπιλεγμένο balanced .

Φόρτος εργασίαςΠροφίλΤι κάνει
Εκπαίδευση και εξαγωγή συμπερασμάτων με GPUaccelerator-performanceΚλειδώνει την CPU σε χαμηλές καταστάσεις C, διατηρώντας την καθυστέρηση μεταξύ CPU και GPU κάτω από 100 µs
Βάσεις δεδομένων (Postgres, MySQL, Redis)throughput-performanceΑπενεργοποιεί τη λειτουργία εξοικονόμησης ενέργειας, ρυθμίζει τις εισόδους-εξόδους δίσκου και δικτύου, απενεργοποιεί τις Transparent Huge Pages
Δικτύωση υψηλού εύρους ζώνης (CDN, αναπαραγωγή, αγωγοί δεδομένων)network-throughputΑυξάνει τα buffer δικτύου του πυρήνα για συνεχείς μεταφορές υψηλού εύρους ζώνης
Υπηρεσίες ευαίσθητες στην καθυστέρησηnetwork-latency ή latency-performanceΚλειδώνει τον ρυθμιστή της CPU στη performance, απενεργοποιεί τις βαθιές καταστάσεις C
HPC και υπολογιστικά clustershpc-computeΒελτιώνει την απόδοση ως προς την καθυστέρηση με ρύθμιση NUMA και μνήμης
Περιπτώσεις VPS (λειτουργικό σύστημα επισκέπτη)virtual-guestΜειώνει το swappiness, αυξάνει την προανάγνωση δίσκου για παραεικονικοποιημένες εισόδους-εξόδους
Κεντρικοί υπολογιστές με υπερ-επιτηρητή KVMvirtual-hostΡυθμίζει την επαναγραφή «dirty» σελίδων για φορτία εργασίας VM
Μικτή ή άγνωστηbalancedΠροεπιλογή. Ανταλλάσσει την απόδοση με την ενεργειακή απόδοση

Για συγκεκριμένους μηχανισμούς βάσεων δεδομένων, το tuned διατίθεται επίσης postgresql, mssql, καθώς και oracle προφίλ που πηγαίνουν πιο πέρα από throughput-performance με τη ρύθμιση των παραμέτρων της κοινόχρηστης μνήμης και του χρονοπρογραμματιστή του πυρήνα για αυτούς τους κινητήρες.

Σε διακομιστές πολλαπλών υποδοχών, η τοπολογία NUMA έχει σημασία. Η πρόσβαση στη μνήμη απομακρυσμένων κόμβων μπορεί να είναι δύο έως τρεις φορές πιο αργή από την τοπική πρόσβαση. Για φορτία εργασίας όπου η καθυστέρηση είναι κρίσιμη σε συστήματα διπλής υποδοχής, απενεργοποιήστε την αυτόματη εξισορρόπηση NUMA στο προφίλ και αντιστοιχίστε τις διεργασίες σε συγκεκριμένους κόμβους χειροκίνητα.

Εγκατάσταση και εφαρμογή προφίλ

Εγκατάσταση του tuned σε RHEL, Rocky, AlmaLinux ή Fedora:

dnf install tuned
systemctl enable --now tuned

Στα Debian και Ubuntu, το πακέτο ονομάζεται επίσης tuned και εγκαθίσταται μέσω apt. Εάν power-profiles-daemon το tuned εκτελείται ήδη, αποκλείστε το για να αποφύγετε συγκρούσεις:

systemctl mask --now power-profiles-daemon

Εμφανίστε τα διαθέσιμα προφίλ, ρωτήστε το tuned τι προτείνει για τον εξοπλισμό, εφαρμόστε ένα προφίλ και επαληθεύστε το:

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

Το ενεργό προφίλ αποθηκεύεται στο /etc/tuned/active_profile και διατηρείται μετά από επανεκκινήσεις. Για να καταργήσετε εντελώς τη ρύθμιση και να μετρήσετε τη βασική τιμή, εκτελέστε tuned-adm off.

Δημιουργία προσαρμοσμένου προφίλ για φορτία εργασίας AI, ML και υψηλού εύρους ζώνης

Όταν τα προκαθορισμένα προφίλ σας καλύπτουν το 90% των αναγκών σας, δημιουργήστε ένα προσαρμοσμένο προφίλ που κληρονομεί από το πιο κοντινό προφίλ και αντικαθιστά τις υπόλοιπες παραμέτρους. Ξεκινήστε με έναν κατάλογο και ένα αρχείο ρυθμίσεων:

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

Οι βασικές επιλογές εδώ:

  • numa_balancing=0 εμποδίζει τον πυρήνα να μεταφέρει μνήμη μεταξύ των υποδοχών κατά τη διάρκεια των εκτελέσεων εκπαίδευσης, μια συνηθισμένη πηγή καθυστέρησης σε συστήματα GPU με δύο υποδοχές.
  • Το rmem_max και tcp_rmem αυξάνουν το ανώτατο όριο του buffer των socket στα 256MB. Σε διασυνδέσεις 25G, 40G ή 100G μεταξύ κόμβων εκπαίδευσης, τα προεπιλεγμένα μεγέθη buffer περιορίζουν τη διακίνηση δεδομένων σε επίπεδα πολύ κάτω από το line rate.
  • transparent_hugepages=never αφαιρεί τη διακύμανση καθυστέρησης που προκαλεί το THP σε πλαίσια όπως το PyTorch και το TensorFlow, τα οποία εκχωρούν μεγάλους τανυστές.
  • iommu=pt θέτει το IOMMU σε λειτουργία passthrough, η οποία απαιτείται για το passthrough της GPU και της κάρτας δικτύου (NIC) και μειώνει το επιπλέον φορτίο στο DMA σε bare-metal.

Οτιδήποτε κάτω από [bootloader] απαιτεί επανεκκίνηση. Μετά την ενεργοποίηση του προφίλ, εκτελέστε tuned-adm verify για να επιβεβαιώσετε ότι έχουν εφαρμοστεί οι παράμετροι εκτέλεσης και ελέγξτε journalctl -u tuned αν υπάρχουν σφάλματα. Κάντε δοκιμή επιδόσεων πριν και μετά με το iostat -xz, numastat, καθώς και το σχετικό εργαλείο φόρτου εργασίας (iperf3, fioή την πραγματική εκτέλεση εκπαίδευσης).

Μια συμβιβαστική λύση που αξίζει να επισημανθεί ρητά: η απενεργοποίηση των μέτρων ασφαλείας της CPU προσφέρει κέρδος περίπου 3-8% σε φόρτους εργασίας GPU, αλλά κοστίζει 15-30% σε φόρτους εργασίας με έντονα μοτίβα κλήσεων συστήματος. Αποφασίστε με βάση το μοντέλο απειλών για τον υπολογιστή. Μέσα σε ένα αποκλειστικό σύμπλεγμα εκπαίδευσης πίσω από τείχος προστασίας, οι υπολογισμοί συνήθως ευνοούν την απενεργοποίησή τους. Σε έναν κεντρικό υπολογιστή πολλαπλών χρηστών, αφήστε τα ενεργοποιημένα.

Διαχείριση προφίλ σε έναν στόλο διακομιστών

Η εφαρμογή του tuned με το χέρι παύει να είναι εφικτή όταν ο αριθμός των διακομιστών ξεπερνά μερικούς. Το Ansible χειρίζεται αυτό το θέμα με καθαρό τρόπο. Ένα μόνο playbook εγκαθιστά το tuned και δημιουργεί καταλόγους προσαρμοσμένων προφίλ στο /etc/tuned/ μέσω του template module, και εφαρμόζει το σωστό προφίλ ανά ομάδα αποθέματος.

Αντιστοίχιση προφίλ με ρόλους στο inventory:

  • Κόμβοι GPU και AI: accelerator-performance, ή ένα προσαρμοσμένο προφίλ που κληρονομεί από αυτό
  • Διακομιστές βάσεων δεδομένων: throughput-performance ή το προφίλ που αφορά συγκεκριμένα τον κινητήρα
  • Κόμβοι CDN και edge που μεταφέρουν κίνηση υψηλού εύρους ζώνης: network-throughput
  • Διακομιστές API και ιστού πίσω από έναν εξισορροπητή φορτίου: network-latency
  • VPS και φιλοξενούμενοι KVM: virtual-guest
  • Κεντρικοί υπολογιστές υπερ-επιτηρητών: virtual-host

Η απόκλιση αποτελεί το πραγματικό λειτουργικό πρόβλημα. Οι χειροκίνητες sysctl αλλαγές, αναβαθμίσεις πακέτων που εισάγουν νέες προεπιλογές ή η παρέμβαση ενός άλλου εργαλείου διαχείρισης διαμόρφωσης στο «tuned» θα οδηγήσουν όλες σε απόκλιση των ρυθμίσεων από αυτές που ορίζει το προφίλ. Προγραμματίστε την εκτέλεση μιας εργασίας Ansible tuned-adm active και tuned-adm verify μέσω του cron και να ειδοποιείτε σε περίπτωση αποτυχίας. Ελέγξτε /var/log/tuned/tuned.log για γραμμές του τύπου «Verification failed».

Συμπέρασμα

Το tuned εξαλείφει σε μεγάλο βαθμό τις εικασίες από τη ρύθμιση του πυρήνα και των sysctl. Οι προεπιλογές είναι επαρκείς για γενική χρήση, ενώ τα προφίλ που είναι ειδικά για συγκεκριμένα φορτία εργασίας, όπως accelerator-performance, throughput-performance, και network-throughput σας φέρνουν σχεδόν στο σημείο της βελτιστοποίησης χωρίς να χρειαστεί να γράψετε ούτε ένα αρχείο ρυθμίσεων.

  • Επιλέξτε το προεπιλεγμένο προφίλ που ταιριάζει περισσότερο, εκτελέστε το tuned-adm verifyκαι, στη συνέχεια, εκτελέστε δοκιμές απόδοσης
  • Δημιουργήστε προσαρμοσμένα προφίλ κληρονομώντας από ένα προεπιλεγμένο προφίλ και αντικαθιστώντας μόνο ό,τι χρειάζεστε
  • Προσέξτε ιδιαίτερα την εξισορρόπηση NUMA, τις hugepages και τα μεγέθη των buffer δικτύου σε συστήματα με GPU και υψηλού εύρους ζώνης
  • Κάντε την ανάπτυξη με το Ansible και πραγματοποιήστε ελέγχους σύμφωνα με ένα χρονοδιάγραμμα για να εντοπίσετε τυχόν αποκλίσεις

Χρειάζεστε χωρητικότητα σε bare-metal με επαρκές περιθώριο εύρους ζώνης για να αξιοποιήσετε πραγματικά αυτές τις ρυθμίσεις; Επικοινωνήστε με την FDC για αποκλειστικούς διακομιστές σχεδιασμένους για φορτία εργασίας υψηλής απόδοσης και GPU.

Blog

Προτεινόμενα αυτή την εβδομάδα

Περισσότερα άρθρα
Οδηγός χρήσης του iperf3: Δοκιμή ταχύτητας δικτύου σε Linux και Windows
#bandwidth#server-performance

Οδηγός χρήσης του iperf3: Δοκιμή ταχύτητας δικτύου σε Linux και Windows

Εγκαταστήστε το iperf3, εκτελέστε δοκιμές εύρους ζώνης και ρυθμίστε τα buffer TCP για ακριβή αποτελέσματα σε Linux και Windows. Καλύπτει δοκιμές UDP, αμφίδρομες δοκιμές και δοκιμές 10GbE+.

10 λεπτά ανάγνωσης - 7 Μαΐου 2026

Περισσότερα άρθρα
background image

Έχετε ερωτήσεις ή χρειάζεστε μια προσαρμοσμένη λύση

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη

icon

Ευέλικτες επιλογές

icon

Παγκόσμια εμβέλεια

icon

Άμεση ανάπτυξη