Posts tagged performance

L’efficacité énergétique des medias de stockages

Bonjour,

Je vais parler de l’efficacité énergétique dans les systèmes de stockages. Ici je vais faire de grosses approximations. Merci pour votre compréhension.

Énergie

L’aspect le plus évident c’est que si il y as moins de consommation énergétique, les machines tire moins sur les factures d’électricité. Cela permet d’avoir moins d’émission de chaleur, ce qui allonge la durée de vie de ces derniers.

Les pics de consommations crée des problèmes divers tel que la difficulté sur les systèmes embarqué de lancé le hdd par manque de puissance, … cela oblige de concevoir le buffer avec la consommation max qui peu être trés différente de la consommation réel.

Les performances

Le système d’exploitation considere une données écrite quand elle à été envoyé au hdd. Car même en cas de coupure, le hdd doit avoir assez d’énergie accumulé pour écrire ce qu’il as dans le buffer. Plus le disque est performant, plus le buffer pourra être grand. Plus le buffer sera grand, plus le disque pourra minimiser les changements de place de la tête de lecture pour optimiser ces déplacements.

Ce qui est intéressant dans les SSD et la nouvelle génération 3D XPoint c’est que l’énergie consommé est contante et bien plus basse. Ce qui permet de faire des buffers bien plus gros, ce qui dans ces proportion permet aussi de de plus écrire simplement plein de petit bloque mais de les groupes en super bloques (optimisation des technologie flash et augmentation de leur duré de vie).

 

Il faut encore adapter un certain nombre de couche logiciel pour prendre en compte certaine particularité comme le multi-queue. Mais l’impact énergie<->performance est relativement transparent.

Optimisation dans CatchChallenger

Salut,

J’ai fait de grosse optimisation dans CatchChallenger. J’ai composé le packet pour ensuite l’envoyer sur chaque client au lieu d’envoyer les variables et que chaque client compose le même packet. Cela donne un gros coup de boost sur les fonctions de type broadcast.

Ensuite j’ai fait une boucle ou j’appelle tout les clients, et j’ai connecté un QTimer dessus. Cela est bien plus efficace que de connecté ce timer sur chaque client (8x de performance).

Moins vous allez accéder à de grosse quantité de mémoire, plus il vont tenir dans un cache CPU performant, et donc vous allez gagner en performance (évitez d’allouer la mémoire aussi, si non RTT), sur mon haswell (pris grace à memtest86+):

  • 64Ko L1 202 427Mo/s
  • 256Ko L2 52 675Mo/s
  • 6144Ko L3 37 592Mo/s (répartie entre tout les cpus)
  • 8239Mo Mémoire 9 375Mo/s
Autant vous dire tout de suite, les performances pour un serveur MMORPG même bien fait, c’est:
  • à vide (<20 joueurs) utilisation du L1 trés performant
  • charge moyenne (<100 joueurs) utilisation du L2/L3
  • à forte charge (>2000 joueurs) utilisation de votre mémoire bien lente même si vous avec GDDR5/DDR4 avec un grosse fréquence en comparaison des caches interne (surement dans ce cas que votre config tirerai partie d’un mémoire rapide)
Et pourtant je fait passé sans problème le serveur de MMORPG sur un Intel Atom ou un Cortex-A9 à 1Ghz avec 6000 joueurs (charge simulé en les répartisant sur map map, avec les pires réglages, en débug, et avec génération de chat, déplacement, …). Hors mit les hash qui peuvent être consommateur de CPU, le reste de mon code utilise des variables/tableaux de variable avec presque aucun calcule dessus, donc le temps est passé à attendre la mémoire.
Pour finir, je constate même à l’heure actuelle, 99% du temps pris pas la gestion des events de Qt. Je ne sais pas encore si il y as un truc à faire pour mon cas (pas mal d’objet connecté entre eux pour un même client), ou si je vais devoir m’orienter vers un autre système d’event et donc réseau (boost?).
Limiter la fragementation mémoire aide à avoir des création d’objet et allocation mémoire plus rapide.
Bye,
Profiling of prestashop

Profiling of prestashop

Hello, if your are interested to know where prestashop is slow:

Profiling of prestashop

Profiling of prestashop

 

profiling of prestashop tree

profiling of prestashop tree

Note: Is for prestashop 1.5.0.13, according to the developer, it’s beta version not optimized.

 

 

php 5.4 performance sur applicatif perso

Je viens de comparer php 5.3 vs php 5.4 sur un applicatif perso:
1.15ms -> 1.10ms
Donc sur les applicatif rapide le gain est presque null.

Par contre sur les script asser lourd type avs:
24ms -> 15ms
23ms -> 21ms
Le gain est sensible sur certaine page, et sur d’autre c’est toujours ça de pris.

Go to Top