Comparativa de velocitat de RAID per programari
Escrit al 2005-11-09 00:00:00 per cpina
A molts llocs d'Internet es comenta que el RAID 1 Mirroring és molt lent, a vegades sembla que no sigui ni utilitzable. I també es comenta que el RAID 0 Striped és molt més ràpid, però no sol aparèixer "com de més ràpid?"
A l'article s'analitzen les velocitats, comparant dos discs durs fent operacions "cotidianes" però mesurables. A continuació es fa el mateix amb RAID 0 Linear, RAID 0 Striped i RAID 1 Mirroring. S'intenta treure'n unes conclusions, analitzant els resultats de la comparativa, etc.
Índex
Punts principals: Resultats i conclusions.
Introducció
Ja fa un temps que volia muntar un RAID Mirall (Mirroring) en alguns ordinadors, utilitzant Linux. Ara fa dies que vaig començar a buscar informació.
Evidentment el primer que vaig intentar decidir és si faria RAID per maquinari o bé per programari. Quins avantatges, inconvenients té cada un? Una petita enumeració de les avantatges principals de cada un podria ser:
Maquinari (hardware RAID):
Programari (software RAID):
Tot i tenir fama de ser més lent, la pregunta era... El sistema amb RAID 1 serà massa lent? Quant més lent respecte no tenir RAID?. De fet hi ha gent que diu al revés, que tenir RAID 1 (tot i ser per programari) és molt més ràpid. En tot cas, qui té raó?
Per tant principalment s'intentarà respondre la pregunta de si el RAID per programari és molt més lent que un disc normal. Més endavant potser es repetirà la comparativa amb RAID per programari Vs. RAID per maquinari.
L'única referència trobada sobre aquest tema, és el Capítol 9 Perfomance dins el RAID Howto, però no era suficientment complet.
Breu repàs de RAID
No és intenció d'aquest article explicar la configuració de RAID, ni com funcionen internament. Però sí que es farà una petita anotació per refrescar-ho.
RAID és un sistema de gestió de discs durs (normalment, ja que amb RAID per programari es pot fer un RAID entre un Pendrive i un fitxer en el disc, entre moltes altres combinacions). RAID permet varies configuracions de treball, com poden ser:
La motivació de configurar un sistema RAID pot ser molt diversa. Podem dir que és per seguretat de no perdre les dades (RAID 1 i RAID 5), o bé per tenir un sol volum amb molta capacitat i més ràpid (RAID 0)
Informació de les proves
Les proves
S'ha intentat que les proves siguin mínimament realistes i variades. Per tant, cada persona pot veure quina part de les proves li interessa més per extreure'n els seus les seves conclusions.
S'ha fet una primera prova amb el programari bonnie++. Aquest fa una sèrie d'operacions sobre el directori que se li indica. Primerament fa una simulació com si fos una base de dades per accedir-hi a continuació (mitjançant escriptura de caràcters, blocs, lectures, en ordre, desordre, etc.). Després, crea, llegeix i elimina molts fitxers petits com si un programa com Squid o Postfix. Bonnie facilita els resultats per cada apartat (p. ex. en KB/s) però en aquesta comparativa només s'agafa el temps total de tot el procés. Més endavant és possible que es faci un annex amb aquesta informació.
A continuació es fa un dd de /dev/zero a fitxers sobre el RAID. Intenta veure realment quina és la velocitat d'escriptura cap al RAID.
Després fa el mateix a l'invers: llegir del RAID els fitxers ja copiats de /dev/zero i s'envien a /dev/null. Intenta veure quant són d'eficient les lectures.
A continuació es fa una altra prova, la qual consisteix en fer cat /no_raid/linux-2.6.13.tar > /dev/null (per tal de tenir-ho en buffers i cache) i després copiar-ho al RAID (escriptures un altre cop)
Després, es descomprimeix amb tar -xf linux.tar dins el RAID (majoritàriament fa escriptures, ja que l'hem copiat i el sistema té prou memòria RAM i per tan bona part del fitxer ja s'hi trobarà.
Per acabar fa un cp -rf linux-2.6.13 prova/, amb la qual cosa copia tot l'arbre del Kernel de Linux, que són gairebé 300 MB.
RESUMINT
Cal comentar que en tot moment s'ha pres com a mesura el "real time". De totes maneres s'ha pogut observar que el "user time" i "system time" no tenen diferències significatives entre un disc dur sol o configuracions en RAID. Hi hauria d'haver un consum superior de CPU perquè es fa el RAID via Kernel i no a les controladores. En les proves fetes no ha estat crític ni limitador, només quan sincronitza el sistema RAID 1 mirroring (normalment, quan se sincronitza el RAID per primera vegada) utilitza molta CPU, en altres casos no hauria de ser crític i menys amb les capacitats actuals de CPU.
Concurrència
Aquí hi ha una clau de l'article. Què passa quan hi ha més d'un procés accedint al RAID? Va més lent o més ràpid que en un sol disc dur? En quins RAIDs?
S'han realitzat les proves amb un procés a la vegada, dos, tres i quatre processos concurrents. Pot semblar poc interessant per entorns domèstics, però són casos habituals en servidors (varies bases de dades accedint simultàniament, servidors de fitxers, Webs, etc.). S'han vist aspectes prou interessants, en relació a velocitats, concurrència, RAID 0, RAID 1, etc.
Repetició de les proves
Del conjunt de proves descrit anteriorment, s'ha repetit 4 vegades (amb l'excepció del de 4 processos, que s'ha repetit 3 vegades) i s'han extret els resultats fent les mitges. Les proves han estat automatitzades mitjançant un script, així es garanteix que sempre se seguien els mateixos passos.
Resultats
Taules amb els temps
Comentar que el temps total és poc significatiu: només que hagués copiar més o menys MB podria haver invertit els resultats del millor al pitjor. Un ha de pensar quines operacions acostuma a fer, intentar veure quines s'hi assemblen i veure'n els resultats particulars.
Resum table times | ||||||
1 Process (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | 07:08 | 07:06 | 07:07 | 07:03 | 06:31 | 07:35 |
dd zero 7000M | 02:39 | 02:39 | 02:39 | 02:41 | 02:05 | 04:01 |
cp 7000M null | 03:15 | 03:19 | 03:17 | 03:18 | 02:38 | 03:32 |
cp linux.tar to RAID | 00:04 | 00:05 | 00:04 | 00:04 | 00:05 | 00:05 |
tar -xf linux.tar | 00:29 | 00:27 | 00:28 | 00:25 | 00:25 | 00:31 |
cp -rf linux test | 00:58 | 00:57 | 00:57 | 00:49 | 00:50 | 01:01 |
Total time | 00:14:32 | 00:14:31 | 00:14:32 | 00:14:19 | 00:12:34 | 00:16:44 |
% more slow | 0,06% | -0,06% | 0,00% | -1,46% | -13,56% | 15,17% |
2 Processes (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | 15:29 | 15:57 | 15:43 | 13:39 | 13:52 | 15:02 |
dd zero 7000M | 05:34 | 05:41 | 05:38 | 05:37 | 04:01 | 07:57 |
cp 7000M null | 06:00 | 07:54 | 06:57 | 07:12 | 06:33 | 05:39 |
cp linux.tar to RAID | 00:09 | 00:17 | 00:13 | 00:14 | 00:12 | 00:20 |
tar -xf linux.tar | 02:26 | 01:15 | 01:50 | 00:56 | 00:56 | 01:09 |
cp -rf linux test | 03:04 | 02:45 | 02:55 | 02:00 | 02:08 | 02:07 |
Total time | 00:32:41 | ALIGN=RIGHT SDVAL="0,0234852430555556" SDNUM="1027;0;HH:MM:SS">00:33:49 | 00:33:15 | 00:29:38 | 00:27:42 | 00:32:13 |
% more slow | -1,70% | 1,70% | 0,00% | -10,87% | -16,70% | -3,11% |
3 Processes (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | 23:52 | 24:58 | 24:25 | 20:54 | 20:42 | 22:10 |
dd zero 7000M | 08:24 | 08:52 | 08:38 | 08:45 | 06:01 | 11:51 |
cp 7000M null | 09:30 | 12:56 | 11:13 | 12:38 | 09:25 | 08:12 |
cp linux.tar to RAID | 00:14 | 00:23 | 00:19 | 00:23 | 00:20 | 00:27 |
tar -xf linux.tar | 01:49 | 01:42 | 01:45 | 01:25 | 01:22 | 01:44 |
cp -rf linux test | 05:15 | 04:53 | 05:04 | 03:12 | 03:47 | 03:18 |
Total time | 00:49:04 | 00:53:45 | 00:51:25 | 00:47:18 | 00:41:36 | 00:47:43 |
% more slow | -4,55% | 4,55% | 0,00% | -7,99% | -19,08% | -7,19% |
4 Processes (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | 32:44 | 34:07 | 33:25 | 28:02 | 27:53 | 29:54 |
dd zero 7000M | 11:11 | 11:56 | 11:33 | 11:49 | 08:04 | 15:47 |
cp 7000M null | 12:47 | 17:35 | 15:11 | 17:23 | 12:36 | 10:02 |
cp linux.tar to RAID | 00:21 | 00:34 | 00:28 | 00:32 | 00:27 | 00:40 |
tar -xf linux.tar | 02:28 | 02:08 | 02:18 | 01:51 | 01:46 | 02:18 |
cp -rf linux test | 05:56 | 05:36 | 05:46 | 03:11 | 04:16 | 03:50 |
Total time | 01:05:26 | 01:11:55 | 01:08:41 | 01:02:48 | 00:55:02 | 01:02:31 |
% more slow | -4,72% | 4,72% | 0,00% | -8,55% | -19,86% | -8,97% |
Taules amb percentatges
L'última fila de cada taula és el mitjana dels percentatges. No es fa el percentatge sobre els temps ja que així és independent de si les proves han estat més llargues o més curtes.
Resume table 2 | ||||||
1 Proces (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | 0,29% | -0,29% | 0,00% | -1,00% | -8,32% | 6,50% |
dd zero 7000M | -0,08% | 0,08% | 0,00% | 1,18% | -21,20% | 52,09% |
cp 7000M null | -0,95% | 0,95% | 0,00% | 0,57% | -19,87% | 7,56% |
cp linux.tar to RAID | -5,88% | 5,88% | 0,00% | 0,00% | 5,88% | 23,53% |
tar -xf linux.tar | 2,68% | -2,68% | 0,00% | -11,61% | -9,82% | 9,82% |
cp -rf linux test | 1,31% | -1,31% | 0,00% | -14,41% | -13,10% | 5,68% |
Total time | 00:14:32 | 00:14:31 | 00:14:32 | 00:14:19 | 00:12:34 | 00:16:44 |
% slower | 0,06% | -0,06% | 0,00% | -1,46% | -13,56% | 15,17% |
% average slower | -0,44% | 0,44% | 0,00% | -4,21% | -11,07% | 17,53% |
2 Proceses (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | -1,46% | 1,46% | 0,00% | -13,15% | -11,77% | -4,39% |
dd zero 7000M | -1,06% | 1,06% | 0,00% | -0,28% | -28,49% | 41,34% |
cp 7000M null | -13,72% | 13,72% | 0,00% | 3,76% | -5,77% | -18,70% |
cp linux.tar to RAID | -32,04% | 32,04% | 0,00% | 6,80% | -6,80% | 53,40% |
tar -xf linux.tar | 32,12% | -32,12% | 0,00% | -49,24% | -49,69% | -37,45% |
cp -rf linux test | 5,26% | -5,26% | 0,00% | -31,04% | -26,53% | -27,39% |
Total time | 00:32:41 | 00:33:49 | 00:33:15 | 00:29:38 | 00:27:42 | 00:32:13 |
% more slow | -1,70% | 1,70% | 0,00% | -10,87% | -16,70% | -3,11% |
% average slower | -1,81% | 1,81% | 0,00% | -13,86% | -21,51% | 1,14% |
3 Proceses (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | -2,25% | 2,25% | 0,00% | -14,39% | -15,26% | -9,22% |
dd zero 7000M | -2,72% | 2,72% | 0,00% | 1,31% | -30,41% | 37,18% |
cp 7000M null | -15,30% | 15,30% | 0,00% | 12,71% | -16,04% | -26,92% |
cp linux.tar to RAID | -25,39% | 25,39% | 0,00% | 25,39% | 8,76% | 45,62% |
tar -xf linux.tar | 3,13% | -3,13% | 0,00% | -19,43% | -22,36% | -0,83% |
cp -rf linux test | 3,60% | -3,60% | 0,00% | -36,90% | -25,51% | -34,79% |
Total time | 00:49:04 | 00:53:45 | 00:51:25 | 00:47:18 | 00:41:36 | 00:47:43 |
% slower | -4,55% | 4,55% | 0,00% | -7,99% | -19,08% | -7,19% |
% average slower | -6,49% | 6,49% | 0,00% | -5,22% | -16,80% | 1,84% |
4 Proceses (average) | ||||||
Single disk 1 | Single disk 2 | Disks average | RAID 0 Linear | RAID 0 Striped | RAID 1 | |
Bonnie | -2,08% | 2,08% | 0,00% | -16,10% | -16,55% | -10,54% |
dd zero 7000M | -3,21% | 3,21% | 0,00% | 2,20% | -30,23% | 36,65% |
cp 7000M null | -15,85% | 15,85% | 0,00% | 14,51% | -16,97% | -33,93% |
cp linux.tar to RAID | -22,24% | 22,24% | 0,00% | 17,40% | -0,76% | 46,44% |
tar -xf linux.tar | 7,26% | -7,26% | 0,00% | -19,30% | -23,23% | 0,18% |
cp -rf linux test | 2,84% | -2,84% | 0,00% | -44,82% | -26,01% | -33,57% |
Total time | 01:05:26 | 01:11:55 | 01:08:41 | 01:02:48 | 00:55:02 | 01:02:31 |
% slower | -4,72% | 4,72% | 0,00% | -8,55% | -19,86% | -8,97% |
% average slower | -5,55% | 5,55% | 0,00% | -7,69% | -18,96% | 0,87% |
Gràfics
Els gràfics són respecte les mitjanes dels percentatges, al considerar-se més representatives que el temps.Conclusions
Es poden treure moltes conclusions, però principalment es pot destacar:
Annex
La relativitat del les comparatives
Qualsevol comparativa (entenent-se com a benchmark) és totalment relativa, i s'ha de llegir amb molt de compte. De fet, és possible que en qualsevol comparativa guanyi el producte/configuració/programa A en tots els apartats menys en un, que guanyi el B. Globalment A serà millor, però es pot donar el cas que només ens interessa l'apartat que guanya el B. Se n'ha de ser conscient. No hi ha cap comparativa que acabi traient una veritat absoluta, és tant sols una simple guia perquè cada persona avaluï activament els productes exposats, i en sigui crític amb el mètode. En el cas particular, s'hauria de veure si els resultats tenen alguna relació amb el maquinari en concret. Si es modifica la RAM, canviaran els resultats? No té perquè, però s'ha de pensar. I el nostre cas d'ús, s'assembla amb aquest? En quins apartats? Com a últim comentari, i de forma molt clara, pot ser possible que canviant la mida dels chunk del RAID, o bé canviant senzillament el sistema de fitxers, els resultats siguin diferents. Així que s'han de prendre com una mera orientació. Hi ha tantes configuracions particulars com usos té el sistema, per tant seria més fàcil quan es té la configuració desitjada fer-ne les proves, si cal, que no intentar endevinar totes les configuracions (feina que no s'acabaria mai)El maquinari
El maquinari emprat per fer les proves és un Pentium 3 a 860 MHz, amb 756 MB de RAM i un Kernel 2.6.12. La distribució és Debian Sarge.
Un disc dur és un Western Digital de 80 GB, configurat amb UDMA 5 com a master del canal IDE primari (hda). L'altre disc dur és un Seagate de 120 GB, configurat també amb UDMA 5 i com a master del canal IDE secundari (hdc). Pot semblar estrany tenir dos discs durs diferents en un RAID, en tot cas, segurament acaba sent més normal tenir-ne dos diferents que no exactament el mateix model.
Enllaços
Entre les pàgines Web consultades segurament es pot destacar:
Les dades
Es pot descarregar la fulla de càlcul amb el conjunt de dades.
Categories: Articles, Servidor
Comentaris
- Rthrhrt Mnfioejwrjio redhotchilipeppersslanecastlexu redhotchilipepperscan3ftstopxu redhotchilipepperscityofangelsongtextxu redhotchilipeppersoffiziellwebsitexu redhotchilipepperspragxu californicationredhotchilipeppersxu redhotchilipeppersfanclubxu redhotchilipepperslogoxu redhotchilipeppersidolxu redhotchilipepperskartexu redhotchilipepperskonzertberlinxu redhotchilipeppersneualbumxu redhotchilipepperssongtextxu redhotchilipepperstourdatumxu redhotchilipeppersunderthebridgeonlinevideoxu redhotchilipepperscalifornicationcoverxu redhotchilipepperscalifornicationvideoxu redhotchilipepperschordsxu redhotchilipeppersloverollercoasterxu redhotchilipeppersothersidevideoxu ticketredhotchilipepperssitzplatzxu lyricsredhotchilipeppersxu redhotchilipeppersallaroundtheworldxu redhotchilipepperskonzertticketxu redhotchilipeppersliveatslanexu redhotchilipeppersstadiumarcadiumxu redhotchilipepperscalifornicationwhichsonggotkickedisno1downloadnowxu redhotchilipepperskarteberlinxu redhotchilipepperskonzertkartexu redhotchilipeppersothersidelyricsxu redhotchilipeppersourmediaxu redhotchilipeppersvideoxu songtextredhotchilipeppersxu ticketredhotchilipeppersberlinxu tourdatumredhotchilipeppersxu gitarrennoteredhotchilipeppersxu muenchenredhotchilipeppersxu redhotchilipeppersbythewaylyricsxu redhotchilipeppersdortmundticketxu redhotchilipeppersdosedxu redhotchilipeppersfortunefadedxu redhotchilipeppersliveatslanecastlexu redhotchilipeppersroadtrippinxu redhotchilipeppersticketberlinxu redhotchilipepperstourxu californiacationredhotchilipeppersxu pepperschiliredhotxu redhotchilipeppersaroundtheworldxu redhotchilipeppersautogrammxu redhotchilipepperscalifornicationlyricsxu redhotchilipeppersdanicaliforniaxu redhotchilipeppershamburgxu redhotchilipeppershomepagexu redhotchilipeppersicouldxu redhotchilipeppersinspirationxu redhotchilipeppersliveparisxu redhotchilipeppersmyfriendxu redhotchilipeppersnewsxu redhotchilipepperssimpsonsxu redhotchilipepperstattooxu redhotchilipepperswallpaperxu karteredhotchilipeppersxu konzertticketredhotchilipeppersxu redhotchilipeppersalbumxu redhotchilipeppersberlinticketxu redhotchilipeppersbloodsexsugarmagixxu redhotchilipepperscaliforniacationxu redhotchilipepperscityofangelxu redhotchilipepperscoverxu redhotchilipepperseverybodyxu un73xu un71a73xu unutobahna73xu ebersdorfa73xu un73beicoburgxu galleryxu geburtstaggalleryxu freesexgalleryxu xxxgalleryxu bondagegalleryxu babesgalleryxu freehardcoregalleryxu unbbywintersgalleryxu fetishgalleryxu porngalleryxu groupsexgalleryxu maturegalleryxu sexgalleryxu lingeriegalleryxu unrtgalleryxu hentaigalleryxu shemalegalleryxu teengalleryxu freexxxgalleryxu freeporngalleryxu gaygalleryxu onlineartgalleryxu hotlingeriegalleryxu pantyhosegalleryxu untkgalleryxu