D'Iwwersetzung vum Artikel gouf um Virowend vum Start vum Cours virbereet .

Vun ZÀit zu ZÀit stelle sech hei an do Froen iwwer dem Gluster seng Empfehlungen betreffend Kernelpersonaliséierung an ob et néideg ass.
DĂ«se Besoin trĂ«tt selten op. Ănner de meeschte Workloads funktionĂ©iert de KĂ€r ganz gutt. Et gĂ«tt awer en Nodeel. Historesch gesinn, de KĂ€r Linux verbraucht frĂ€iwĂ«lleg vill SpĂ€icherplatz, wann d'MĂ©iglechkeet kritt gĂ«tt, dorĂ«nner och fir Caching als Haaptwee fir d'Performance ze verbesseren.
Am meeschte FÀll funktionnéiert dëst super, awer ënner schwéierer Belaaschtung kann et Problemer verursaachen.
Mir hunn extensiv Erfahrung mat Systemer ze schaffen déi vill Erënnerung verbrauchen, wéi CAD, EDA an derglÀiche, déi ugefaang hunn ënner héijer Belaaschtung ze luesen. An heiansdo hu mer zu Gluster Problemer gestouss. No virsiichteg Iwwerwachung vun der benotzt Erënnerung an Disk WaardezÀit fir méi wéi een Dag, hu mir Disk Iwwerlaascht, enorm iowait, Kernel Feeler (Kernel Oops), Afréiere, etc.
Dësen Artikel ass d'Resultat vu ville Parametertuning Experimenter a verschiddene Situatiounen. Dank dëse Parameteren ass net nëmmen d'ReaktiounsfÀegkeet allgemeng verbessert, awer och d'Operatioun vum Cluster war wesentlech stabiliséiert.
Wann et drëm geet Erënnerung ze konfiguréieren, ass déi éischt Plaz fir ze kucken de virtuelle Memory-Subsystem (VM), deen eng grouss Zuel vun Optiounen huet, déi Iech duerchernee kënnen.
vm.swappiness
Parameter vm.swappiness bestëmmt wéi vill de KÀrel benotzt Swap am Verglach zum RAM. Et ass och am Quellcode definéiert als "Tendenz fir kartéiert Erënnerung ze klauen." En héije Swappiness WÀert bedeit datt de Kernel méi ufÀlleg ass fir kartéiert SÀiten auszetauschen. E nidderegen SwappinesswÀert bedeit de Géigendeel: de KÀrel wÀert manner SÀiten aus der Erënnerung tauschen. An anere Wierder, wat méi héich ass de WÀert vm.swappiness, wat méi de System Swap benotzt.
Extensiv Notzung vum Tauscht ass onerwënscht, well enorm Blöcke vun Date gelueden an an de RAM entluet ginn. Vill Leit plÀdéieren datt de SwapinesswÀert héich sollt sinn, awer a menger Erfahrung, wann et op "0" gesat gëtt, gëtt eng besser Leeschtung.
Dir kënnt méi hei liesen -
Awer erëm, dës Astellunge solle mat Vorsicht benotzt ginn an nëmmen nodeems Dir déi spezifesch Applikatioun getest huet. Fir héich gelueden Streaming Uwendungen, soll dëse Parameter op "0" gesat ginn. Wann op "0" geÀnnert gëtt, verbessert d'SystemreaktiounsfÀegkeet.
vm.vfs_cache_pressure
Dës Astellung kontrolléiert d'Erënnerung, déi vum Kernel verbraucht gëtt fir Verzeechnesobjekter an Inoden (Dentry an Inode) ze cachen.
Mat dem StandardwĂ€ert vun 100 wĂ€ert de Kernel probĂ©ieren d'ZĂ€nn an d'Inode-Cache op eng fair ManĂ©ier op de Pagecache an Swapcache ze befreien. Ofsenkung vun vfs_cache_pressure verursaacht datt de KĂ€rel ZĂ€nn an Inode Cache bewahrt. Wann de WĂ€ert "0" ass, wĂ€ert de KĂ€r ni den ZĂ€nn an den Inode-Cache spĂŒlen wĂ©inst dem GedĂ€chtnisdrock, an dĂ«st kann einfach zu engem Out-of-Memory Feeler fĂ©ieren. D'ErhĂ©ijung vun vfs_cache_pressure iwwer 100 verursaacht datt de Kernel PrioritĂ©it fir ZĂ€nn an Inode Pageouts gĂ«tt.
Wann Dir GlusterFS benotzt, kënne vill Benotzer mat groussen Quantitéiten un Daten a vill kleng Dateien einfach e wesentleche Betrag u RAM um Server benotzen wéinst Inode / Dentry Caching, wat zu enger schlechter Leeschtung féiere kann well de Kernel Datestrukturen op engem System muss handhaben mat 40 GB Erënnerung. Dëse Parameter op méi wéi 100 ze setzen huet vill Benotzer gehollef e méi faire Caching a verbesserte KÀrreaktiounsfÀegkeet z'erreechen.
vm.dirty_background_ratio an vm.dirty_ratio
Ăischte Parameter (vm.dirty_background_ratio) bestĂ«mmt de Prozentsaz vun der ErĂ«nnerung mat dreckeg SĂ€iten, wann et erreecht gĂ«tt, ass et noutwendeg fir d'Spullung vun dreckeg SĂ€iten op den Disk ze starten. Bis dĂ«se Prozentsaz erreecht ass, ginn SĂ€iten net op Disk gespullt. A wann de Reset ufĂ€nkt, leeft se am Hannergrond ouni Lafen Prozesser ze Ă«nnerbriechen.
Zweete Parameter (vm.dirty_ratio) bestëmmt de Prozentsaz vun der Erënnerung, déi duerch dreckeg SÀiten besat ka ginn, ier e gezwongenen Flash ufÀnkt. Wann dës Schwell erreecht ass, ginn all Prozesser synchron (blockéiert) a kënnen net weider lafen bis d'I/O Operatioun déi se gefrot hunn tatsÀchlech fÀerdeg ass an d'Donnéeën op der Disk sinn. Mat héijer I/O Belaaschtung verursaacht dëst e Problem well et keen Datekaching gëtt an all Prozesser déi I/O maachen sinn blockéiert fir op I/O ze waarden. Dëst resultéiert an enger grousser Zuel vun hÀngkt Prozesser, héich Laascht, System Onstabilitéit a schlecht Leeschtung.
D'Ofsenkung vun de WĂ€erter vun dĂ«se Parameteren verursaacht datt d'DonnĂ©eĂ«n mĂ©i dacks op den Disk gespullt ginn an net am RAM gespĂ€ichert ginn. DĂ«st kann GedĂ€chtnis-schwĂ©ier Systemer hĂ«llefen, wou et normal ass 45-90GB SĂ€itcaches op Disk ze spĂŒlen, wat zu enger enormer Latenz fir Front-End Uwendungen resultĂ©iert, dĂ©i allgemeng ReaktiounsfĂ€egkeet an InteraktivitĂ©it reduzĂ©iert.
"1"> /proc/sys/vm/pagecache
Page Cache ass e Cache deen Daten aus Dateien an ausfĂŒhrbare Programmer spĂ€ichert, dat heescht, dĂ«st sinn SĂ€iten mat dem aktuellen Inhalt vu Dateien oder Blockapparaten. DĂ«se Cache gĂ«tt benotzt fir d'Zuel vun den Disk Liesungen ze reduzĂ©ieren. E WĂ€ert vun "1" bedeit datt de Cache 1% vum RAM benotzt an et gĂ«tt mĂ©i Liesunge vun der Disk wĂ©i vum RAM. Et ass net nĂ©ideg dĂ«s Astellung z'Ă€nneren, awer wann Dir paranoid sidd iwwer d'Kontroll vun der SĂ€it Cache, kĂ«nnt Dir et benotzen.
"Deadline"> /sys/block/sdc/queue/scheduler
Den I/O-Scheduler ass eng Kernelkomponent. Linux, déi Lies- a Schreifwartschlaangen handhabt. Theoretesch ass et fir e Smart RAID Controller besser "noop" ze benotzen, well Linux De Scheduler weess nÀischt iwwer déi physikalesch Geometrie vun der Festplack, dofir ass et méi effizient, de Controller, deen d'Geometrie vun der Festplack gutt kennt, d'Ufro sou séier wéi méiglech veraarbechte ze loossen. D'"Deadline" schéngt awer d'Performance ze verbesseren. Méi Informatiounen iwwer Scheduler fannt Dir an der Kernel-Quelldokumentatioun. Linux: linux/Documentation/block/*osched.txt. An ech hunn och eng Erhéijung vum Liesduerchgang wÀhrend gemëschten Operatiounen observéiert (vill Schreiwen).
"256"> /sys/block/sdc/queue/nr_requests
D'Zuel vun den I/O Ufroen am Puffer ier se un de Scheduler geschéckt ginn. E puer Controller intern Schlaanggréisst (queue_depth) ass méi grouss wéi den I / O Scheduler d'nr_requests, sou datt den I / O Scheduler wéineg Chance huet fir Ufroen korrekt ze prioritéieren an ze fusionéieren. Fir Frist an CFQ Scheduler ass et besser wann nr_requests 2 Mol méi grouss ass wéi déi intern Schlaang vum Controller. Fusioun an nei Ufroen Ufroen hëlleft dem Scheduler méi reaktiounsfÀeger ënner schwéierer Belaaschtung.
echo "16"> /proc/sys/vm/page-cluster
De Page-Cluster-Parameter kontrolléiert d'Zuel vun de SÀiten, déi glÀichzÀiteg op den Swap geschriwwe ginn. Am Beispill hei uewen ass de WÀert op "16" gesat fir mat der RAID StrÀifgréisst vu 64 KB ze passen. Dëst mécht kee Sënn wann swappiness = 0, mee wann Dir swappiness op 10 oder 20 setzen, dann benotzt dëse WÀert hëlleft Iech wann d'RAID StrÀif Gréisst 64 KB ass.
blockdev --setra 4096 /dev/<devnumm> (-sdb, hdc oder dev_mapper)
D'Standardblock-Apparat Astellunge fir vill RAID Controller resultĂ©ieren dacks zu schrecklecher Leeschtung. DĂ©i uewe genannte Optioun bĂ€izefĂŒgen konfigurĂ©iert Read-Ahead fir 4096 * 512 Byte Sektoren. Op d'mannst fir Streaming Operatiounen gĂ«tt d'Geschwindegkeet erhĂ©icht andeems den On-Chip Disk Cache iwwer Read-Ahead fĂ«llt wĂ€rend der Period dĂ©i de Kernel benotzt fir I/O virzebereeden. De Cache kann Daten halen, dĂ©i wĂ€hrend der nĂ€chster Liesung gefrot ginn. Ze vill Virliesung kann zoufĂ€lleg I/O fir grouss Dateien Ă«mbrĂ©ngen wann et potenziell nĂ«tzlech Disk ZĂ€it benotzt oder Daten ausserhalb vum Cache lued.
DrĂ«nner sinn e puer mĂ©i Empfehlungen um Dateisystemniveau. Awer si sinn nach net getest ginn. VergewĂ«ssert Iech datt Ăre Dateiesystem d'StrĂ€ifgrĂ©isst an d'Zuel vun den Disken an der Array kennt. Zum Beispill, datt dĂ«st eng raid5-Array ass mat enger StrĂ€ifgrĂ©isst vu 64K vu sechs Scheiwen (eigentlech fĂ«nnef, well eng Scheif fir ParitĂ©it benotzt gĂ«tt). DĂ«s Empfehlungen basĂ©ieren op theoreteschen Viraussetzungen a gesammelt aus verschiddene Blogs / Artikele vun RAID Experten.
-> ext4 fs, 5 disks, 64K stripe, units in 4K blocks
mkfs -text4 -E stride=$((64/4))
-> xfs, 5 disks, 64K stripe, units in 512-byte sectors
mkfs -txfs -d sunit=$((64*2)) -d swidth=$((5*64*2))Fir gréisser Dateien, kënnt Dir berécksiichtegen déi uewe genannte StrÀifengréissten ze erhéijen.
AENTWERT! Alles uewen beschriwwen ass extrem subjektiv fir verschidden Aarte vun Uwendungen. Dësen Artikel garantéiert keng Verbesserungen ouni éischt déi jeeweileg Uwendungen vum Benotzer ze testen. Et sollt nëmme benotzt ginn wann et e Besoin ass fir d'allgemeng SystemreaktiounsfÀegkeet ze verbesseren oder wann et aktuell Probleemer léist.
ZousÀtzlech Material:
Liest méi
Source: will.com
