7 votes

Problèmes de performance lors de l'utilisation de SSD pour un ordinateur portable de développeur (pile WAMP/LAMP) ?

Je suis un développeur d'applications Web qui utilise mon ordinateur portable comme environnement de développement autonome (pile WAMP). Je viens de passer d'un ordinateur portable Core2 Duo Vista 32 bits avec 2 Go de RAM et un disque dur SATA, à un i5-2520M Windows 7 64 bits avec 4 Go de RAM et 128 Go de SSD (Corsair P3 128).

Mon expérience initiale a été conforme à mes attentes : démarrage rapide, chargement rapide de toutes les applications (Eclipse prend maintenant 5 secondes au lieu de 30 secondes sur mon ancien ordinateur portable), expérience globalement excellente. J'ai ensuite commencé à construire ma pile de développement, à la fois en tant que LAMP (en utilisant VirtualBox avec un invité Debian) et WAMP (Windows native Apache + MySQL + PHP). Je voulais comparer les deux.

Tout s'est bien passé, puis j'ai commencé à intégrer mes projets dans ces piles. Et voilà la mauvaise surprise, l'un de ces projets produisait des temps de réponse bien pires que sur mon ancien ordinateur portable (c'était vrai pour les piles VirtualBox et WAMP). Les configurations d'Apache, PHP et MySQL étaient pratiquement identiques dans tous les environnements. J'ai commencé à faire beaucoup de benchmarking et de profilage, et voici ce que j'ai trouvé :

  1. Tous les benchmarks généraux (Performance Test 7.0, HDTune Pro, wPrime2 et d'autres encore) ont donné un grand avantage au nouveau portable. Rien de surprenant ici. Les tests spécifiques au disque ont montré que les opérations de lecture/écriture ont culminé autour de 380M/160M pour le SSD, et toutes les opérations de blocs de différentes tailles ont également donné de très bons résultats.

  2. Début de l'évaluation des performances d'Apache avec Apache Benchmark pour un petit fichier HTML statique (10 threads simultanés, 500 itérations).

    • Ancien ordinateur portable : min 47ms, médiane 111ms, max 156ms
    • Nouvelle pile WAMP : min 71ms, médiane 135ms, max 296ms
    • Nouvelle pile LAMP (dans VirtualBox) : min 6ms, médiane 46ms, max 175ms

    Ici, je ne comprends pas pourquoi la pile WAMP native a donné de si mauvais résultats, mais au moins l'environnement LAMP a apporté la vitesse attendue.

  3. Mesure des performances d'Apache pour le contenu PHP non mis en cache. Le PHP exécute une boucle de 1000 et génère des inisde sha1(uniqid()). Encore une fois, 10 threads simultanés, 500 itérations ont été utilisés pour le benchmark.

    • Ancien ordinateur portable : min 0ms, médiane 39ms, max 218ms
    • Nouvelle pile WAMP : min 20ms, médiane 61ms, max 186ms
    • Nouvelle pile LAMP (dans VirtualBox) : min 124ms, médiane 704ms, max 2463ms

    Mais qu'est-ce que c'est ? Le nouveau LAMP a donné des résultats misérables, et même le nouveau WAMP natif a été surpassé par l'ancien ordinateur portable.

  4. Test PHP + MySQL. Le test consiste à se connecter à une base de données et à lire un seul enregistrement d'une table en utilisant INNER JOIN sur 3 autres tables (indexées), répété 100 fois dans une boucle. Les bases de données étaient identiques. 10 threads concurrents, 100 itérations ont été utilisés pour le benchmark.

    • Ancien ordinateur portable : min 1201ms, médiane 1734ms, max 3728ms
    • Nouvelle pile WAMP : min 367ms, médiane 675ms, max 1893ms
    • Nouvelle pile LAMP (dans VirtualBox) : min 1410ms, médiane 3659ms, max 5045ms

    Et le même test avec la concurrence fixée à 1 (au lieu de 10) :

    • Ancien ordinateur portable : min 1201ms, médiane 1261ms, max 1357ms
    • Nouvelle pile WAMP : min 399ms, médiane 483ms, max 539ms
    • Nouvelle pile LAMP (dans VirtualBox) : min 285ms, médiane 348ms, max 444ms

    En ce qui me concerne strictement, comme j'utilise un environnement de développement autonome (= faible concurrence), je pourrais être satisfait du résultat du deuxième test. Bien que je n'aie aucune idée de la raison pour laquelle l'environnement VirtualBox se comporte si mal avec une plus grande concurrence.

  5. Enfin, j'ai effectué un test en incluant de nombreux fichiers php. L'application que j'ai mentionnée au début, celle qui fonctionnait si mal, a un bootstrap lourd, charge des centaines de petites bibliothèques et de fichiers de configuration lors de l'initialisation. Donc ce test ne fait rien d'autre que d'inclure environ 100 fichiers. Concurrence fixée à 1, 100 itérations :

    • Ancien ordinateur portable : min 140ms, médiane 168ms, max 406ms
    • Nouvelle pile WAMP : min 434ms, médiane 488ms, max 604ms
    • Nouvelle pile LAMP (dans VirtualBox) : min 413ms, médiane 1040ms, max 1921ms

    Même si je considère que VirtualBox a atteint ces fichiers via des dossiers partagés, et que cela ralentit un peu les choses, je ne vois toujours pas comment l'ancien ordinateur portable pourrait surpasser si lourdement les deux nouvelles configurations. Et je pense que c'est la véritable racine de la lenteur des performances, car l'application utilise encore plus d'inclusions, et l'ensemble de l'amorçage se produira plusieurs fois dans une demande de page (pour chaque appel AJAX, par exemple).

Pour résumer, je me retrouve avec un tout nouvel ordinateur portable hautes performances qui charge en 20 secondes la même page que mon ancien ordinateur portable peut faire en 5-7 secondes. Inutile de dire que je ne suis pas très heureux en ce moment.

Pourquoi pensez-vous que j'obtienne ces mauvaises valeurs de performance ? Quelles sont mes options pour remédier à cette situation ?

Il semble que j'ai finalement trouvé l'origine du problème, apparemment les SSD peuvent subir une dégradation des performances lorsqu'ils sont utilisés dans des ordinateurs portables équipés de chipsets Intel HM55 ou PM55. Veuillez voir ma propre réponse complète ci-dessous.

2voto

Daishiman Points 667

En d'autres termes, les benchmarks au niveau du disque donnent des résultats exceptionnels à votre SSD, alors qu'en pratique, le disque est terriblement lent. Il y a donc quelque chose qui ralentit les choses, rendant l'accès aux fichiers beaucoup plus lent que prévu.

Il peut y avoir plusieurs raisons :

  • Le plus probable : il existe un antivirus. Certains sont de véritables tueurs de repères, et il est difficile de prédire comment ils affectent les performances sans effectuer de tests.

  • Quelque chose d'autre rend l'accès au fichier lent. A chaque fois, vous semblez tester de nombreuses opérations sur de petites quantités de données. Mais quelles sont les performances lorsque vous lisez ou écrivez un fichier de 10 Go ?

  • La configuration liée au système d'exploitation peut être différente. Par exemple, le système d'exploitation utilise le cache pour les petits fichiers sur la machine avec le disque dur, mais pas sur la machine avec un SSD. Dans ce cas, les benchmarks sont faux pour la première machine, puisque vous ne testez pas vraiment la vitesse du disque dur.

  • La configuration liée au disque peut être différente. Des options telles que celles liées à la politique de mise en cache en écriture (dans Windows) peuvent affecter les performances.

  • Le SSD peut ne pas fonctionner correctement.

1voto

András Szepesházi Points 897

Après une longue semaine à me battre avec des paramètres pour de meilleures performances, j'ai finalement trouvé quelques ajustements qui ont donné les résultats escomptés. (Il s'agit d'un ordinateur portable Fujitsu LIFEBOOK S751 avec chipset Intel HM65 et BIOS basé sur Phoenix TrustedCore Notebook)

Dans le BIOS, sous Paramètres avancés / Divers, section Gestion de l'alimentation matérielle, il y avait deux options de configuration pour

  • Economie d'énergie du CPU en état de repos (AC)
  • Économie d'énergie du CPU à l'état de repos (Batterie)

Le premier était réglé sur "Energy Saving", le second sur "Long Battery Life". J'ai réglé les deux sur la valeur normale et j'ai obtenu des temps de réponse nettement meilleurs pour tous mes cas de test.

Apparemment, d'autres personnes ont également rencontré ce problème : http://forum.notebookreview.com/solid-state-drives-ssds-flash-storage/513313-laptops-w-intel-series-5-chipset-can-not-take-full-advantage-fast-ssds.html

Citation de ce fil :

Selon les benchmarks effectués par plusieurs membres, il semble que les ordinateurs portables avec Intel HM55 et PM55 ne peuvent pas profiter pleinement des SSD rapides. Ces chipsets sont très courants dans les ordinateurs portables modernes. La baisse de performance est particulièrement visible dans la lecture et l'écriture aléatoire 4K aléatoires 4K. Les problèmes semblent être causés par une implémentation agressive de fonctions d'économie d'énergie...

Bien sûr, le ventilateur tourne maintenant toutes les 5 secondes environ, ce qui est assez ennuyeux, mais au moins je peux faire mon travail.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X