Ahoj, 2008/5/25 Radomír Tománek <[EMAIL PROTECTED]>: > Zdravím, > Mám spíše toretický dotaz. V rámci diskového subsystému (řadič, fyzický > disk, logický volume, operační systém) je několik vyronávacích pamětí a > algoritmů. Většinu lze konfiguračně vypnout/zapnout, zvětšit/změnšit a > ovlivnit tak výkon i spolehlivost celého serveru. Může prosím někdo znalý > problemaiky shrnout které cache je dobré jak nastavit (vypnout/zapnout – > velikosti zde nemá smysl asi řešit) pro určité typické nasazení? Mám na mysli > třeba typické nastavení jako fileserver, případně storage server, případně > databázový server. > Jde mi o to, že před řadou let, když se dělala větší disková pole, tak se s > těmito věcmi dost laborovalo, protože například databáze byly často ze > „záhadných" důvodů nekonzitentní (typicky šlo o to, že aplikace něco zapsala > do db, jenže se to fyzicky neuložilo a když potom došlo ke čtení té samé > hodnoty, tak se načetla hodnota z disku, nikoli z cache…☹ - zjednodušeně > řečeno). Tak nějak jsem si zvyknul cache na řadiči a logickém svazku > zakazovat (a už jsem se s podobným průserem nesetkal), ale vím, že z hlediska > výkonu to není ideální. Zrovna tak se už jistě posunul vývoj kupředu, tak by > mě zajímalo, jaké s tím máte zkušenosti. >
Je potreba si uvedomit nekolik zasadnich veci. * nejpomalejsi komponentou je disk * chci li zvysit vykon, pak musim mit dostatek disku v prislusnem RAIDu * RAID (krome RAID 0) ma vzdy overhead na write operaci RAID 1 a 10 maji 2 diskove operace na write, RAID 5 ma 4 diskove operace na write. * FC DISK umi zhruba 180 IOPS (IO transakci za sekundu), SAS DISK 15k zhruba 150 IOPS, SAS DISK 10k zhruba 110 IOPS, SATA DISK 7.2K cca 70 IOPS * cache umi vyznamne pomoci s vykonem, nicmene kdyz dojde cache, tak jsme zase u rychlosti disku * cache muze byt zalohovana baterkou a nebo, kdyz mam nejake trosku lepsi externi pole, kde mam dva radice, tak jsou cache mirrorivane mezi sebou. a aby to nebylo takto jednoduche, tak diskova performance neni dana jen vyse uvedenymi hardwarovymi charakteristikami, ale i * operacnim systemem * souborovym systemem * ovladaci radicu (pripadne HBA) * velikosti diskoveho bloku, ktery kriticka aplikace pouziva * pomerem read a write operaci Radice obecne pouzivaji ruzne algoritmy pro praci s cachema, ale zakladni mody jsou vetsinou "read ahead" a "non-read ahead". Read ahead umi pri cteni nacitat i bloky dat z okoli. To je vhodna technika, kdyz je velka pravdepodobnost, ze se data pouziji. Toto vetsinou plati pro sekvencni steni dat (file servery, streaming, apod.). Externi diskova pole maji jeste spoustu dalsich mechanismu, jak pracovat s dostupnou cache na radicich, ale to uz je nekam uplne jinam. Cache na urovni filesystemu jsou odvisle prave od pouzivaneho filesystemu. Doufam, ze jsem na nic zasadniho nezapomnel a teoreticky ti odpovedel na tvoji teoretickou otazku. Rekni mi konkretni vykonostni a bezpecnostni pozadavky a ja ti reknu, jaky diskovy subsystem zvolit ;-) Jinak docela zajimavy konkretni ladeni diskoveho subsystemu z me praxe je popsano na blogu ... http://davidpasek.blogspot.com/2007_06_01_archive.html slo tam o to, ze vetsina enterprise serveru je z vyroby dodavana s nastavenymi radici pro idealni praci s databazovymi systemy (random access & write performance), coz absolutne neni vhodne pro aplikaci typu Video On Demand a IPTV (obecne streaming). David. -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l