• # Benchmark

    Posté par . En réponse au journal [Benchmark] DragonFlyBSD plus performant dans sa version 3.2. Évalué à 7.

    je voudrais juste commenter ce benchmark, qui circule pas mal et que les gens ont tendance à mal interpréter.

    Un benchmark, ça n'est utile que quand on sait ce qu'on mesure et qu'on sait que cette mesure a un sens. Je lis beaucoup de "dragonfly plus performant que X". Ça ne veut rien dire. Un benchmark, il faut le comprendre, il n'a aucune valeur en général.

    Dans ce cas, le benchmark mesure quoi ? L'éxécution de processus contenant des threads en parallèles, les processus étant deux à deux liés. De plus, c'est processus font beaucoup d'I/O. C'est donc un bench trés large qui dépend de la vitesse en lecture/écriture du FS, de la gestion des sockets UNIX, des semaphores posix, de la gestion des threads et du scheduling, et de la gestion de la mémoire partagée. Ça fait beaucoup, et on se rend bien compte que beaucoup de paramètres peuvent jouer, à commencer par les réglages par défaut du noyau utilisé.

    Ce qu'il a permi de mesurer avait un sens : le benchmark a été répété tout au lent du développement, après chaque changement. Il mesure donc l'impact sur les performances de chaque modifications, toutes choses étant égales par ailleurs. Pour comparer les versions, et identifier les goulot d'étranglement, c'est un bon benchmark.

    Comparer avec d'autres OS a moins de sens déjà, car beaucoup de paramètres diffèrent. Toutefois, ça peut donner une idindication sur les bottlenecks restants, et ça a quand même une valeur indicative dans le processus de développement, tout autant que motivante (on peut rattraper X, ça donne un objectif).

    Mais pour comparer les performances du point de vue d'un utilisateur, est ce que ça a un sens ? Je ne pense pas. Il s'agit purement d'un benchmark de développement : il s'intéresse à une charge particulière, qui n'a pas vraiment d'éxistense dans les conditions réelles : on ne fait jamais tourner un server par client, par exemple, ou le serveur risque d'avoir un socket TCP, et de toute manière, il faut avoir besoin d'un système qui monte à 200 000TPS.

    La comparaison avec les autres systèmes est donc à mon avis trés flottante et sans grande valeur. Il est tout à fait possible que FreeBSD atteigne d'aussi bon résultats en changeant quelques sysctl.