Auteur Sujet: Marque des SSD utilisés par Online  (Lu 10342 fois)

0 Membres et 1 Invité sur ce sujet

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
Marque des SSD utilisés par Online
« Réponse #12 le: 05 novembre 2016 à 09:36:37 »
La base de donnée MySQL est petite : 420 Mo, il y a par contre plusieurs dizaines de Go de fichiers (pièces jointes, images,...)
Moins de 500Mo, ça doit rentrer facilement en totalité en cache en RAM, non? Du coup, si c'est bien le cas, pour ce qui est des accès à la base de données, les performances du disque dur (rapidité de lecture ou d'écriture) n'entrent sans doute pas du tout en compte (ou très peu).
Pour l'accès aux images et aux pièces jointes, là, d'accord, il faut de bonnes perfo du disque dur en lecture. Mais c'est sans doute moins critique.

Après, il faut clairement un disque très endurant vu le nombre d'écritures.

Leon.

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Marque des SSD utilisés par Online
« Réponse #13 le: 05 novembre 2016 à 09:47:19 »
Le choix du SSD n'est pas réalisé pour des raisons de performance, mais d’endurance.

Les disques dur classiques ont une durée de vie toujours limitée (4ans et demi, c'est pas si mal que ça), j’espère faire bien mieux avec un SSD. Peut-être que je me trompe, mais le seul moyen d’apprendre, c'est de tester.

Pour la base SQL, j'ai configuré un gros cache (pas trop, sinon on perd du temps pour chercher l'info) et sinon la base dois être en cache disque au niveau du système de fichier après la première lecture.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Marque des SSD utilisés par Online
« Réponse #14 le: 05 novembre 2016 à 10:10:52 »
Le choix du SSD n'est pas réalisé pour des raisons de performance, mais d’endurance.

Une étude de Google sur leurs millions de DD pendant 6 ans montre :

- SSD plus fiables que HDD mais plus prones a perdre des données.
- l'age affecte plus les SSD que leur taux d'utilisation.
- les SLC haut de gamme ne sont pas plus fiables que les MLC bas de gamme ... (ouch!)

l'etude: https://www.usenix.org/system/files/conference/fast16/fast16-papers-schroeder.pdf

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 644
  • WOOHOO !
    • OrneTHD
Marque des SSD utilisés par Online
« Réponse #15 le: 05 novembre 2016 à 10:25:12 »
Pour la base SQL, j'ai configuré un gros cache (pas trop, sinon on perd du temps pour chercher l'info) et sinon la base dois être en cache disque au niveau du système de fichier après la première lecture.

Oula, ne compte pas sur le cache du filesystem qui dévalide à la moindre modif.

Avoir des tables en InnoDB avec un pool size d'un 1Go c'est parfait, là ton MySQL saura gérer ça comme il faut :)

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Marque des SSD utilisés par Online
« Réponse #16 le: 05 novembre 2016 à 21:05:50 »
Oula, ne compte pas sur le cache du filesystem qui dévalide à la moindre modif.

Lors d'une modif le filesystem Ext4 écrit la modif sur le disque et garde la modif en cache.
Les lectures ultérieures se feront depuis la RAM

Je ne comprends pas bien ce que tu dis (et je vois dans mes stats IO disque, qu'il n'y a presque aucun accès en lecture sur le disque après avoir tourné plusieurs jours)
Il y a par contre toujours les écritures.

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
Marque des SSD utilisés par Online
« Réponse #17 le: 05 novembre 2016 à 21:30:39 »
Quand tu écris ta modification : les données précédemment en cache sont invalidées, les nouvelles sont écrites sur disque et conservées en cache.

Leon

  • Client SFR sur réseau Numericable
  • Modérateur
  • *
  • Messages: 5 971
Marque des SSD utilisés par Online
« Réponse #18 le: 06 novembre 2016 à 10:55:36 »
Quand tu écris ta modification : les données précédemment en cache sont invalidées, les nouvelles sont écrites sur disque et conservées en cache.
Du coup, je ne vois pas où est le problème décrit par Optix...

Leon.

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Marque des SSD utilisés par Online
« Réponse #19 le: 06 novembre 2016 à 10:57:59 »
Si le problème c'est l'overprovisionning, tu peux le faire manuellement en ne partitionnant pas la totalité. Je te renvoie à cet article pour plus de détails sur la tenue des performances en fonction de ce que tu décide de provisionner.

Le menu Over provisioning de l'applicaiton Samung, ne fait en effet que réduire la partition pour laisser 10% d'espace non provisionné.

Extrait de la doc :
La fonction Over provisioning permet de redimensionner les partitions d’un lecteur. Les SSD fonctionnement mieux et durent plus longtemps lorsqu’ils disposent d’une grande quantité d’espace utilisable comme espace d’échange.

Durant les périodes d’inactivité, l’espace d’échange est utilisé pour effectuer en arrière-plan les tâches de maintenance courante du SSD (fonctions TRIM et Garbage Collection), ce qui permet au contrôleur SSD de préparer des blocs libres en vue d’une utilisation ultérieure. Dans la mesure où le SSD offre de meilleures performances lorsqu’il écrit dans des blocs libres, il en résulte une meilleure expérience utilisateur.

La fonction Over provisioning contribue à dégager de l’espace libre en redimensionnant les partitions d’un lecteur.


Les explications pour la taille du disque annoncée vs réelle :
Remarque : LES SAMSUNG SSD SONT CONFORMES À LA NORME IDEMA (INTERNATIONAL DISK DRIVE EQUIPMENT AND MATERIALS), QUI CLASSIFIE ENVIRON 93 % DE LEUR MÉMOIRE PHYSIQUE EFFECTIVE EN TANT QU’ESPACE UTILISABLE POUR LE STOCKAGE. AFIN DE SIMPLIFIER LES CALCULS POUR LES CONSOMMATEURS, LE FABRICANT ÉVALUE LA CAPACITÉ DES LECTEURS EN CONSIDÉRANT QUE 1 GO EST ÉGAL À 1 000 MÉGAOCTETS (MO)



Descriptions de certains attributs SMART des SSD Samsung :
  • Reallocated Sector Count : Nombre de secteurs ayant été réalloués. Quand le disque dur obtient une erreur de lecture/écriture/vérification sur un secteur, il note ce secteur comme réalloué et transfère les données vers un nouveau secteur situé dans une zone réservée spéciale.
  • Power-On Hours : Nombre d’heures pendant lequel le lecteur a été en fonctionnement. Cette valeur est un simple indicateur du comportement de l’utilisateur, et n’est pas directement liée à l’état de fonctionnement du lecteur. La valeur brute de cet attribut indique le nombre total d’heures (ou, selon le constructeur, de minutes ou de secondes) de fonctionnement du disque. Lorsque l’ordinateur est en mode de veille prolongée, la valeur Power-On Hours n'augmente pas.
  • Power-on Count : Nombre de cycles de mise sous/hors tension complets du disque.
  • Wear Leveling Count : Représente le nombre d’opérations d’effacement effectuées sur le support (le nombre de fois qu’un bloc a été effacé).
  • Used Reserved Block Count : Représente le nombre total de blocs réservés ayant été utilisés suite à un échec d’une demande programme ou d’une demande d’effacement.
  • Program Fail Count : Nombre de demandes programme (d’écriture) ayant échoué.
  • Erase Fail Count : Nombre de demandes d’effacement ayant échoué.
  • Runtime Bad Count : Correspond à la somme de Program Fail Count et de Erase Fail Count. Cette valeur récapitulative représente le nombre total cumulé d’échecs de demandes programme et de demandes d’effacement.
  • Uncorrectable Error Count : Nombre total d’erreurs n’ayant pas pu être corrigées via ECC.
  • Air Flow Temperature : Température actuelle des puces NAND situées à l’intérieur du SSD.
  • ECC Error Rate : Nombre d’erreurs corrigibles. Nombre d’erreurs corrigées par le mécanisme interne de correction d’erreurs.
  • CRC Error Count : The number of Cyclic Redundancy Check (CRC) errors.  If there is a problem between the host and the DRAM or NAND flash, the CRC engine will tally the error and store it in this attribute.
  • POR Recovery Count : Nombre de cas de mise hors tension soudaine. En cas de mise hors tension soudaine, le microcode doit récupérer l’ensemble des données de mappage et des données utilisateur lors de la prochaine mise sous tension. Cet attribut comptabilise le nombre de fois où cette séquence s’est produite.
  • Total LBAs Written (attribut SMART 241) : Représente la taille totale des blocs LBA (Logical Block Addressing) requis pour traiter l’ensemble des demandes d’écriture envoyées au SSD depuis l’hôte. Pour calculer la taille totale (en octets), il faut multiplier la valeur remontée par SMART par 512.
    RAW_VALUE = 212601749
    Taille écrite = 108852095488 octets = 108,8 Go

    To est l'abréviation de « téraoctet », soit 1 000 Go.


Les détails ci-après sont renseignés pour chaque attribut SMART :
  • ID : Nom décimal de l’attribut SMART.
  • Description : Nom de l’attribut SMART.
  • Seuil : Seuil à partir duquel la valeur normalisée est considérée comme « dépassant les spécifications ».
  • Valeur actuelle : Valeur normalisée actuelle de l’attribut.
  • Pire valeur : Valeur la plus médiocre signalée relativement au lecteur sélectionné pour un attribut donné.
  • Données brutes : Valeur brute affectée à l’attribut SMART par le fabricant du lecteur.
  • Status : Indique si le système peut ou non effectuer un traitement sur le lecteur.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       217
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       4
177 Wear_Leveling_Count     0x0013   100   100   000    Pre-fail  Always       -       0
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   073   072   000    Old_age   Always       -       27
195 Hardware_ECC_Recovered  0x001a   200   200   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x003e   100   100   000    Old_age   Always       -       0
235 Unknown_Attribute       0x0012   100   100   000    Old_age   Always       -       0
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       212601749

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 644
  • WOOHOO !
    • OrneTHD
Marque des SSD utilisés par Online
« Réponse #20 le: 06 novembre 2016 à 11:43:24 »
Du coup, je ne vois pas où est le problème décrit par Optix...

Leon.

J'ai tendance à me méfier du cache, car d'expérience j'ai eu des soucis de perfs après que je subissais de grosses écritures. Quand un user écrivait son gros contenu, son logiciel relisait aussitôt derrière pour voir si l'opération s'est bien déroulée et que j'ai encaissé tous les fichiers. Bah les lectures, je les ai senti passer :(

Du coup je préfère allouer beaucoup de mémoire aux applications qui savent comment gérer ça à leur sauce, plutôt qu'au filesystem qui essaye de faire au mieux pour tous les usages. MySQL gérera mieux la RAM pour son usage que n'importe quel FS.

Compte tenu du message de vivien, que ext4 commit les modifs également dans le cache, je pense que mon souci devait venir du fait que je n'utilise que des FS réseaux. Pas facile de mettre à jour le cache sur les X machines qui ont le FS monté :)

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
Marque des SSD utilisés par Online
« Réponse #21 le: 06 novembre 2016 à 21:08:17 »
Le problème d'Optix était donc plutôt un problème de taille du cache : beaucoup d'I/O avec plusieurs applications. La gestion du cache est compliquée.

Le cas de Vivien est plus simple: une seule application et peu d'I/O. La gestion du cache est facile.


Thornhill

  • Abonné SFR fibre FttH
  • *
  • Messages: 3 976
  • Saint-Médard-en-Jalles (33)
Marque des SSD utilisés par Online
« Réponse #22 le: 07 novembre 2016 à 00:08:39 »
Le filesystem n'as pas forcèment la même taille de blocs que la BDD, ni les mêmes règles et cycles de renouvellement (LRU).

De plus sur certains SGBD il est possible de forcer la conservation des tables entières en cache BDD, pour privilégier certaines requêtes, ce dont le cache filesystem n'aura aucune connaissance .

Enfin le cache filesystem subira des évictions pénalisantes en cas de forte demande de mémoire applicative (heap), alors que la plupart des SGBD sérieux lockent en RAM leur cache.

Donc,  il est préférable de mettre la cache là où le mécanisme est le plus compétent pour le gérer, c'est à dire dans le SGBD.


abermingham

  • AS12876 Officiel Scaleway
  • Expert
  • *
  • Messages: 112
  • Paris (75)
Marque des SSD utilisés par Online
« Réponse #23 le: 07 novembre 2016 à 20:08:40 »
Hello,

Nous utilisons principalement des SSD Samsung série MZ7LN256HMJP (PM871a). C'est un dérivé en TLC des EVO avec un peu plus d'overprovisionning.
Ils ne sont pas disponibles sur le marché "normal", ce sont des références spécifiques disponibles uniquement en direct constructeur.
Nous avons essayé d'autres marques (notamment Intel et Micron) et n'avons jamais réussi à avoir une endurance convenable, pour un rapport fiabilité/performance/prix nettement inférieur.
Nous en avons déployé plusieurs dizaines de milliers depuis 18 mois, nous avons un taux de casse inférieur à 0,2% (une trentaine à peu près)

Arnaud