OVH Cloud OVH Cloud

Performance de lecture et/ou écriture faible sur un disque logique RAID 5 (RAID matériel) sur une Debian Squeeze 64 bit

37 réponses
Avatar
Francois Lafont
Bonjour à tous,

J'ai un serveur dont voici les caractéristiques :

- C'est un HP Proliant DL385 avec 16 Go de RAM, 2 processeurs
Opteron(tm) 265 1.80 GHz (1MBL2), 4 disques durs (2.5") de 72 Go et un
contrôleur RAID Smart Array P600.

- Ce serveur est relié à une baie SAS HP Storage Works MSA50 avec 10
disques durs (2.5") de 72 Go.

- Il y a donc en tout 14 disques durs et 13 sont montés en RAID 5 et 1
disque est en spare (via le contrôleur RAID Smart Array P600). J'ai donc
un unique disque logique sur lequel est installé Debian Squeeze 64 bit.

- Tous les disques physiques (14 au total) sont identiques et vous avez
leurs caractéristiques ici :
http://www.harddrivesdirect.com/product_info.php?cPath=130&products_id=144366

- Plus bas dans le message, je vous ai copié-collé plein d'informations
sur le contrôleur RAID.

Mon souci est que le tout semble être un peu lent en lecture et/ou
écriture (encore qu'en écriture j'ai un petit doute) par rapport aux
caractéristiques ci-dessus. Je vous mets ci-dessous les tests effectués
(avec leur résultat) ainsi que les questions que j'ai car certaines
notions ne sont pas forcément très claires dans mon esprit (je ne suis
pas un spécialiste du RAID). Mon souhait serait simplement d'arriver à
obtenir des performances de lecture/écriture qui correspondent aux
caractéristiques du serveur.

Déjà en lecture j'ai ceci qui est assez représentatif des valeurs que
j'obtiens :

---------------------------------------------------------
~# hdparm -t /dev/cciss/c0d0

/dev/cciss/c0d0:
Timing buffered disk reads: 108 MB in 3.03 seconds = 35.63 MB/sec

~# hdparm -T /dev/cciss/c0d0

/dev/cciss/c0d0:
Timing cached reads: 1880 MB in 2.00 seconds = 940.62 MB/sec
---------------------------------------------------------

Déjà, j'aimerais être sûr de comprendre de quoi il s'agit :

- « Timing buffered disk reads » c'est le temps de lecture du disque
sachant que le buffer du disque a été vidé au préalable et que la
lecture se fait sans la couche "système de fichiers".

- « Timing cached reads » c'est le temps de lecture du buffer du disque,
sachant que le buffer est une mémoire volatile qui se trouve dans le
disque lui-même qui est beaucoup plus rapide à lire (et à écrire) que le
disque lui-même.

Q1 : déjà, est-ce que j'ai bon jusque là ?

Q2 : les performances ci-dessous sont bien faibles au regard des
caractéristiques annoncées, on est d'accord ? Rien que sur sur mon
modeste pc perso (sans RAID) j'ai du « Timing buffered disk reads » égal
à 121.98 MB/sec les doigts dans pif.

Du coup, j'ai fait quelques recherches sur le Web et il est question ici
ou là paramètre "readahead". Alors, celui-là j'ai un peu de mal à le
comprendre : apparemment ça serait, au moment de la lecture du disque,
la taille des « paquets » (exprimée en nombre de secteurs consécutifs de
512 bytes) que le disque enverrait dans son buffer afin que le système
d'exploitation lise les données demandées. Du coup, pour une lecture
séquentielle de pas mal de données, ça fait gagner du temps d'avoir un
"readahead" élevé (car il y a moins de « paquets » à envoyer dans le
buffer) mais pour des lectures de petits fichiers un peu dispersés sur
le disque on y perd (car beaucoup de données sont envoyées dans le
buffer inutilement).

Q3 : est-ce correct ?

Du coup, voici une tentative de changement de ce paramètre et voici un
nouveau test :

---------------------------------------------------------
~# blockdev --setra 16384 /dev/cciss/c0d0

~# hdparm -t /dev/cciss/c0d0

/dev/cciss/c0d0:
Timing buffered disk reads: 588 MB in 3.00 seconds = 195.83 MB/sec

~# hdparm -T /dev/cciss/c0d0

/dev/cciss/c0d0:
Timing cached reads: 1568 MB in 2.00 seconds = 783.71 MB/sec
---------------------------------------------------------

Q4 : est-ce que cela vous semble correct (= en phase avec le matériel)
comme perfs cette fois ? Quelle bonne valeur faut-il donner à ce
paramètre "readahead" ? Comment faire pour que le paramètre soit
conservé après redémarrage ? Via une commande dans rc.local ? Y a-t-il
d'autres moyens que la modification de ce paramètre pour améliorer les
performances en lecture ?

Et puis il y a aussi l'écriture. Voici un test :

---------------------------------------------------------
~# time dd if=/dev/zero of=toto bs=4096 count=500000
500000+0 enregistrements lus
500000+0 enregistrements écrits
2048000000 octets (2,0 GB) copiés, 9,10023 s, 225 MB/s
---------------------------------------------------------

Q5 : est-ce que cela vous paraît correct ? Personnellement je n'ai rien
trouvé qui améliore sensiblement la vitesse d'écriture (mais peut-être
c'est déjà en phase avec les caractéristiques du serveur). Peut-être
ai-je des choses à modifier au niveau du contrôleur RAID. Je vous donne
des infos ci-dessous :

---------------------------------------------------------
~# hpacucli controller all show config detail

Smart Array P600 in Slot 3
Bus Interface: PCI
Slot: 3
Serial Number: P92B30F9SSZ05U
Cache Serial Number: P67570H9SSY0A5
RAID 6 (ADG) Status: Enabled
Controller Status: OK
Hardware Revision: A
Firmware Version: 2.04
Rebuild Priority: Medium
Expand Priority: Medium
Surface Scan Delay: 15 secs
Surface Scan Mode: Idle
Post Prompt Timeout: 0 secs
Cache Board Present: True
Cache Status: OK
Cache Ratio: 50% Read / 50% Write
Drive Write Cache: Enabled
Total Cache Size: 256 MB
Total Cache Memory Available: 224 MB
No-Battery Write Cache: Disabled
Cache Backup Power Source: Batteries
Battery/Capacitor Count: 2
Battery/Capacitor Status: OK
SATA NCQ Supported: False

Array: A
Interface Type: SAS
Unused Space: 0 MB
Status: OK
Array Type: Data



Logical Drive: 1
Size: 820.0 GB
Fault Tolerance: RAID 5
Heads: 255
Sectors Per Track: 32
Cylinders: 65535
Strip Size: 64 KB
Full Stripe Size: 768 KB
Status: OK
Caching: Enabled
Parity Initialization Status: Initialization Completed
Unique Identifier: 600508B10010463953535A303555000C
Disk Name: /dev/cciss/c0d0
Mount Points: /boot 285 MB, / 18.6 GB
OS Status: LOCKED
Logical Drive Label: A021A069P92B30F9SSZ05UB273
Drive Type: Data

physicaldrive 1E:1:1
Port: 1E
Box: 1
Bay: 1
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD4
Serial Number: 6SD24N6W0000B123M7FT
Model: HP DG0072BALVL
PHY Count: 2
PHY Transfer Rate: 3.0Gbps, Unknown

physicaldrive 1E:1:2
Port: 1E
Box: 1
Bay: 2
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07GA7000076139ZSM
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:3
Port: 1E
Box: 1
Bay: 3
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07GPJ0000761393MC
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:4
Port: 1E
Box: 1
Bay: 4
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07G65000076139Z01
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:5
Port: 1E
Box: 1
Bay: 5
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07G9Q00007613SML0
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:6
Port: 1E
Box: 1
Bay: 6
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07GPW0000761392XX
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:7
Port: 1E
Box: 1
Bay: 7
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07G6Q000076139Z15
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:8
Port: 1E
Box: 1
Bay: 8
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07G3000007613A0AG
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:9
Port: 1E
Box: 1
Bay: 9
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07HAX0000761393YP
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 2I:1:1
Port: 2I
Box: 1
Bay: 1
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB0FYTG000076362WBD
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 2I:1:2
Port: 2I
Box: 1
Bay: 2
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB0G0L700007636KFHL
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 2I:1:3
Port: 2I
Box: 1
Bay: 3
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB0FYW600007636KFQL
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 2I:1:4
Port: 2I
Box: 1
Bay: 4
Status: OK
Drive Type: Data Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB0FZX300007636XVA1
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps

physicaldrive 1E:1:10
Port: 1E
Box: 1
Bay: 10
Status: OK
Drive Type: Spare Drive
Interface Type: SAS
Size: 72 GB
Rotational Speed: 10000
Firmware Revision: HPD7
Serial Number: 3LB07H0Q00007613A01J
Model: HP DG072A8B54
PHY Count: 1
PHY Transfer Rate: 3.0Gbps


Expander 122
Device Number: 122
Firmware Version: A
WWID: 500508B300A2093F
Port: 1E
Box: 1
Vendor ID: HP
Model: MSA 50-10D25G1

Expander 123
Device Number: 123
Firmware Version: A
WWID: 500508B300A2092F
Port: 1E
Box: 1
Vendor ID: HP
Model: MSA 50-10D25G1

Enclosure SEP (Vendor ID HP, Model MSA50 -10D25G1) 121
Device Number: 121
Firmware Version: 1.20
WWID: 500508B300A2092C
Port: 1E
Box: 1
Vendor ID: HP
Model: MSA50 -10D25G1
---------------------------------------------------------

Voici les paramètres qui ont retenu mon attention :

Smart Array P600 in Slot 3
Cache Ratio: 50% Read / 50% Write
Total Cache Size: 256 MB

Logical Drive: 1
Strip Size: 64 KB
Full Stripe Size: 768 KB

Le « cache ratio », celui-là je peux le changer sans problème avec la
commande "hpacucli" mais je n'ai pas noté ensuite de changement sensible
au niveau des performances.

Un paramètre que j'aurais bien aimé changer c'est le « Total Cache Size
» qui me semble bien petit. Mais celui-là, je n'ai pas trouvé le moyen
de le changer, peut-être est-ce un paramètre purement matériel
impossible à changer...

Q6 : enfin il y a les paramètres « Strip Size » et « Full Strip Size ».
Savez-vous ce qu'ils signifient ? Apparemment, ça peut avoir une
incidence sur les performances. Mais je n'ai pas tellement de choix pour
cette valeur :

---------------------------------------------------------
~# hpacucli controller slot=3 logicaldrive 1 modify stripsize=?
Available options are:
8 kb
16 kb
32 kb
64 kb (current value) (default value)
128 kb
---------------------------------------------------------

Et là aussi, je n'ai pas noté de changement sensible après modification.

Q7 : voyez-vous des choses à améliorer pour optimiser les performances
en lecture/écritures au niveau du contrôleur RAID ?

Merci d'avance pour votre aide (si vous avez eu le courage de me lire
jusqu'au bout).

--
François Lafont

10 réponses

1 2 3 4
Avatar
Emmanuel Florac
Le Mon, 19 Nov 2012 10:06:23 +0100, Francois Lafont a écrit:


Il y a un petit truc qui m'échappe.

Si l'application ouvre un fichier pour la première fois, il faudra bien
un accès disque quand même, pour certes ensuite placer le fichier dans
le cache du système Linux (dans la RAM) et le lire ensuite sur ce cache,
mais c'est donc bien l'accès au disque lui-même qui sera le goulet
d'étranglement (celui qu'on mesure avec hdparm -t), non ?



Oui effectivement. De toute façon pour bien mesurer les performances d'un
système disque, il vaut mieux tester avec au moins 2 fois la RAM pour
minimiser l'efficacité du cache.

On peut aussi purger les caches avant de tester:

echo 3 > /proc/sys/vm/drop_caches

--
If atheism is a religion, then baldness is a hair color.
And not collecting stamps is a hobby.
mahade on reddit.com
Avatar
Emmanuel Florac
Le Mon, 19 Nov 2012 10:29:07 +0100, Francois Lafont a écrit:


Attention, j'ai donné les caractéristiques du serveurs dans mon premier
message (16 Go de RAM). Ce n'est pas un serveur neuf, c'est même un
ancien serveur qui nous a été gracieusement donné par une société privée
(en septembre). Je ne sais pas de quand date le serveur mais ce n'est
pas du matériel récent.



Oui mais normalement ce type de serveur devrait dépoter en IO. Regarde,
j'ai un vieux bipro opteron dual core de 2007 sous Squeeze 64 avec 3
pauvres disques SATA:

[~]# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 1690 MB in 2.00 seconds = 845.28 MB/sec
Timing buffered disk reads: 546 MB in 3.00 seconds = 181.88 MB/sec

Sur une autre machine de même style avec un contrôleur RAID ancien aussi
(3Ware 9650 8 disques SATA en RAID 10):

[~]# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 1782 MB in 2.00 seconds = 891.59 MB/sec
Timing buffered disk reads: 714 MB in 3.00 seconds = 237.85 MB/sec

On parle bien de machines avec des processeurs qui sont sortis en 2005
(Opteron 22xx ), équivalent à du DL380G4 je pense.

--
Never ascribe to malice that which is adequately explained by
incompetence.
Hanlon's Razor.
Avatar
Ascadix
Emmanuel Florac a émis l'idée suivante :
Le Mon, 19 Nov 2012 00:08:02 +0100, Ascadix a écrit:

Il y a 16 Go de RAM quand même.



Ok pour la quantité, mais regarde quand même si l'OS est réglé pour
privilégier l'usage en cache ou pas.



Linux utilise toujours la RAM comme cache si elle n'a rien de mieux à
faire.

Ok. Et bien le contrôleur RAID ne possède que 256 Mo de cache. C'est
pas énorme je trouve.



ça dépend de l'époque



Oui c'est sans doute un peu trop mesquin pour faire un RAID-5 efficace,
je pense que ce type de contrôleur est plutôt conçu pour du RAID-10.



RAM max 512 Mo, pas d'option FBWC, seulement un BBWC, et en port PCIX
pas PCIe, c'est une carte de milieu de gamme de qq années.

Si je me souviens bien des réf, j'en ai eu une il ya 4-5 ans, pour un
p'tit serveur à vocation principale de NAS (acheté sur des queues de
budget), P600 dans un Proliant DL entrée de gamme avec du DD SATA pour
remplir une MSA60, RAID5 + spare, c'est très bien, aucun pb pour
tourner deriere un simple réseau GB, débit correct et pas de pb de
stabilité.
Par contre, en RAID6, ça plombait un peu les perfs.

Pour un server applicatif, ça peut effectivement être un peu court sur
patte et surtout facilement "incohérent" face à un serveur avec CPU/RAM
taillé comme une bête de course.

--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça
arrive.
Avatar
Pascal Hambourg
Francois Lafont a écrit :
Le 19/11/2012 10:22, Pascal Hambourg a écrit :

L'option -T mesure la performance du processeur et de la mémoire,
indépendamment du disque testé. C'est d'ailleurs ce qui m'étionne dans
tes chiffres : C'est proche de ce que m'indique hdparm sur un PC de
bureau de 2004 ou 2005 équipé d'un Pentium 4 et de 512 Mio de mémoire
DDR-1. Je m'attendrais à ce qu'une serveur récent avec 8 Gio de RAM
devrait ait une valeur beaucoup plus élevée.



Attention, j'ai donné les caractéristiques du serveurs dans mon premier
message (16 Go de RAM). Ce n'est pas un serveur neuf, c'est même un
ancien serveur qui nous a été gracieusement donné par une société privée
(en septembre). Je ne sais pas de quand date le serveur mais ce n'est
pas du matériel récent.



Effectivement je viens de regarder ses caractéristiques et c'est aussi
de la RAM de type DDR-1, donc le résultat est cohérent.
Avatar
Emmanuel Florac
Le Tue, 20 Nov 2012 01:31:53 +0100, Francois Lafont a écrit:


J'en suis pas rendu à des perfs comme celles que tu donnes plus-haut
mais je n'en suis pas si loin que ça non plus, non ? Pour toi les
valeurs ci-dessus (196 MB/s et 784 MB/s) restent « anormales » ?



Non, ça paraît plutôt correct. Ensuite il faudrait voir avec un test un
peu plus poussé.

Je pose la question car mon _premier_ problème si j'ose dire est que, du
fait de mon ignorance crasse en matière de RAID, je n'ai absolument
aucune idée des valeurs qui je suis censé espérer par rapport aux
caractéristiques du serveur.



Si comme l'a dit Pascal c'est de la DDR1, ça paraît déjà bien.

--
Never ascribe to malice that which is adequately explained by
incompetence.
Hanlon's Razor.
Avatar
Emmanuel Florac
Le Tue, 20 Nov 2012 09:20:50 +0100, Pascal Hambourg a écrit:


Attention, là on ne teste pas seulement les performances brutes du
disque (ou du RAID) en écriture ou lecture séquentielle, mais on fait
intervenir un système de fichiers (allocation, journalisation...). Pour
se rapprocher de ce que fait hdparm -t, il vaudrait mieux spécifier
of=/dev/<device>.



Oui, enfin en général on utilise un filesystem aussi :)

--
It always takes longer than you expect, even when you take into account
Hofstadter's Law.
Hofstadter's Law
Avatar
Emmanuel Florac
Le Wed, 21 Nov 2012 00:10:53 +0100, Francois Lafont a écrit:

Mais ce paramètre représente quoi ? D'après mes recherches, je suis
arrivé à ça comme « définition » :

« apparemment ça serait, au moment de la lecture du disque, la taille
des « paquets » (exprimée en nombre de secteurs consécutifs de 512
bytes) que le disque enverrait dans son buffer Linux (la RAM) afin que
le système d'exploitation lise les données demandées. Du coup, pour une
lecture séquentielle de pas mal de données, ça fait gagner du temps
d'avoir un "readahead" élevé (car il y a moins de « paquets » à envoyer
dans le buffer Linux) mais pour des lectures de petits fichiers un peu
dispersés sur le disque on y perd (car beaucoup de données sont envoyées
dans le buffer inutilement). »

Est-ce (à peu près) correct ?



C'est ça. En pratique, le RAID-5 est un mode de RAID "en
bandes" (striped) donc ne donne des performances correctes que si on lit
la bande en entier (tous les disques sont accédés). Si ton RAID a une
largeur de bande de 64 Ko et 14 disques, il faut lire au minimum 13 * 64Ko
soit 832 Ko pour de bons résultats, soit "setra 1664".

Quelle valeur raisonnable dois-je donner à ce paramètre ? Pour avoir un
changement pérenne (valable à chaque démarrage), il faut que je passe
par le fichier rc.local ?



Oui, rc.local. et n'oublie pas de tester aussi la longueur de file
d'attente:

echo 512 > /proc/sys/sda/queue/nr_requests

Tu peux aussi essayer avec d'autres valeurs que 512, par exemple 1024;
mais pour ce type de contrôleur je pense que 512 est bien.


je ne vois pas d'autres tests.



Si tu comptes faire tourner des applications, ça peut être utile de faire
un benchmark utilisant l'application.

Mais j'ai une confiance aveugle en Pascal ;-). C'est vraisemblablement
de la DDR1, non ?

~# lshw

[...]

*-memory
description: System Memory
physical id: 1000
slot: System board or motherboard
size: 16GiB
*-bank:0
description: DIMM DDR Synchronous 400 MHz (2.5 ns) physical
id: 0
slot: DIMM 01
size: 2GiB
width: 64 bits

clock: 400MHz (2.5ns)
[...]



Non, ça n'est pas de la DDR1, mais au moins de la DDR2. Sur mes machines
de prod avec de la DDR2, ça me donne ceci:


description: DIMM Synchronous 200 MHz (5.0 ns)
product: PartNum6
vendor: Manufacturer6
physical id: 6
serial: SerNum6
slot: DIMM6
size: 2GiB
width: 64 bits
clock: 200MHz (5.0ns)

Mais quand je teste avec dmidecode, il me dit bien que c'est de la DDR2
400 Mhz. Je pense que lshw n'est pas très fiable sur ce coup...
Regarde ce que dit dmidecode.

--
"Dope will get you through times of no money better
than money will get you through times of no dope."
Freewheelin' Franklin.
Avatar
Emmanuel Florac
Le Thu, 22 Nov 2012 00:38:26 +0100, Francois Lafont a écrit:

Pourquoi le 14 (disques) devient 13 (13*64 Ko) ? - parce que j'ai 14
disques dont un en spare (14-1) ? - ou bien parce qu'une bande
contient 13 blocs de données et 1 bloc de parité qu'on ne compte pas ?



Oui, on ne compte pas la parité. Et s'il y a un spare, on ne le compte
pas non plus, donc c'est 12 disques de données qu'il faut considérer.

/dev/cciss/c0d0:
Timing buffered disk reads: 418 MB in 3.00 seconds = 139.26 MB/sec

~# blockdev --setra 5000 /dev/cciss/c0d0 ~# hdparm -t /dev/cciss/c0d0

/dev/cciss/c0d0:
Timing buffered disk reads: 610 MB in 3.00 seconds = 203.21 MB/sec



Oui, c'est plutôt normal. La taille minimum c'est dans le cas où on veut
maximiser les IOPS.

echo 512 > /proc/sys/sda/queue/nr_requests



Alors perso, je n'ai pas ce fichier dans /proc/sys :

~# find /proc/sys/ -name '*queue*'
/proc/sys/fs/inotify/max_queued_events /proc/sys/fs/mqueue
/proc/sys/fs/mqueue/queues_max



Désolé, bug mémoire, c'est /sys/block/sda/queue/nr_requests :)

Ça quoi « la longueur de la file d'attente » ?



Le nombre de commande SCSI qui sont envoyée au périphérique sans attendre
l'éxécution de la suivante. Typiquement, il ne faut pas utiliser le
scheduler du noyau (cfq), donc passer le scheduler à noop, et envoyer les
commandes en nombre au contrôleur qui se chargera lui-même de les mettre
en bon ordre (Command Tag Queueing et compagnie).


Handle 0x1100, DMI type 17, 23 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: DIMM 01
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 400 MHz (2.5 ns)

Ça veut dire que c'est de la DDR2 ? On le voit à quoi ? À la fréquence ?
Si c'est >= 400 MHz c'est de la DDR2 ?



Bizarre, chez moi j'ai les mêmes valeurs mais bien la mention "DDR2".
Logiquement il me semble que la DDR1 est à 200 Mhz et la DDR2 à 400, mais
il faudrait vérifier. Où alors tu as de la super DDR1 et moi de la DDR2
bas de gamme, je ne sais pas :)

--
La propriété c'est le vol.
Pierre-Joseph Proudhon.

La propriété c'est le meurtre.
Marcel Camus.
Avatar
Emmanuel Florac
Le Thu, 22 Nov 2012 06:20:29 +0100, Philippe Weill a écrit:


en suite si tu fais de l'EXT(3/4)

au formatage tu à interet à utiliser

mkfs.ext3 -b 4096 -E stride,stripe-width2

de facon à t'aligner sur les blocs physiques du RAID

cf http://busybox.net/~aldot/mkfs_stride.html




Et bien entendu si on veut la performance séquentielle maximale on
utilisera xfs et surtout pas ext4 (encore moins ext3 dont les
performances sont totalement dépassées):

mkfs.xfs -i lazy-count=1 -d sudk,sw /dev/XXX

--
L'Algérie était au bord du gouffre, aujourd'hui elle a fait un grand pas
en avant.
Kaid Ahmed.
Avatar
Philippe Weill
Le 22/11/2012 08:41, Emmanuel Florac a écrit :
Le Thu, 22 Nov 2012 06:20:29 +0100, Philippe Weill a écrit:


en suite si tu fais de l'EXT(3/4)

au formatage tu à interet à utiliser

mkfs.ext3 -b 4096 -E stride,stripe-width2

de facon à t'aligner sur les blocs physiques du RAID

cf http://busybox.net/~aldot/mkfs_stride.html




Et bien entendu si on veut la performance séquentielle maximale on
utilisera xfs et surtout pas ext4 (encore moins ext3 dont les
performances sont totalement dépassées):

mkfs.xfs -i lazy-count=1 -d sudk,sw /dev/XXX




Je l'ai pas dit mais sur les serveurs NFS je fais de l'xfs ;-)

l'ext me sert en HPC pour lustre
1 2 3 4