Comment tester les performances du serveur: une sélection de plusieurs benchmarks open source

Nous continuons notre série de documents dédiés au test des performances des serveurs. Aujourd'hui, nous allons parler de quelques tests de référence éprouvés qui prennent toujours en charge et se mettent à jour - NetPerf, HardInfo et ApacheBench.


Photo - Peter Balcerzak - CC BY-SA

Netperf


Il s'agit d'un outil pour évaluer la bande passante du réseau. Il a été développé par des ingénieurs de Hewlett-Packard. L'outil comprend deux exécutables: netserver et netclient. Pour exécuter le test, ils doivent être exécutés sur différentes machines. Par défaut, netperf utilise le port 12865, mais il peut être remplacé par l'indicateur -p. L'utilitaire fonctionne avec TCP et UDP sur les sockets BSD, DLPI, les sockets de domaine Unix et IPv6.

Aujourd'hui, netperf fait partie de la boîte à outils d' analyse comparative Flent . Il est également utilisé par un assez grand nombre de sociétés informatiques, comme Red Hat . Voici une description du service netperf dans un exemple pour évaluer les performances d'OpenShift:

apiVersion: v1 kind: Service metadata: labels: app-name: netperf name: netperf namespace: your_project spec: ports: - port: 12865 protocol: TCP targetPort: 12865 selector: app-name: netperf sessionAffinity: ClientIP type: ClusterIP 

Le référentiel officiel indique que netperf est sous licence sous une licence spéciale Hewlett-Packard. Cependant, l'auteur de l'utilitaire - Rick Jones (Rick Jones) - affirme qu'il est encadré dans les meilleures traditions de l'open source. Notez également que les mises à jour récentes de netperf sont sorties assez rarement. Cela est peut-être dû à la maturité du produit.

Netperf a des analogues - par exemple, iperf2 et iperf3 . Ils vous permettent également de tester la bande passante du réseau. Le développement d'iperf3 a commencé après que le référentiel iperf2 soit tombé en ruine. La nouvelle version est écrite à partir de zéro et est incompatible avec l'implémentation précédente, bien qu'elle contienne une partie de son code. Fait intéressant, après la sortie d'iperf3, les travaux sur iperf2 ont recommencé à bouillir. En conséquence, les deux outils ont des fonctionnalités similaires, mais en même temps différentes. Par exemple, iperf2 est multi-thread et iperf3 ne fonctionne qu'avec un seul thread.

Hardinfo


Il s'agit d'un utilitaire de collecte d'informations sur le matériel et le système d'exploitation. Il affiche des données sur le fonctionnement des périphériques sur: PCI, ISA PnP, USB, IDE, SCSI, ainsi que sur les ports série et parallèle. Mais il peut être utilisé comme outil de référence et de suivi.

HardInfo propose plusieurs tests. Par exemple, CPU Blowfish - évalue les performances du processeur à l'aide d'algorithmes cryptographiques bloquant le chiffrement symétrique. Il existe un CPU N-Queens - un test de combinatoire. Le système résout le problème d'échecs de placer N reines sur le plateau de N x N cellules. Elle arrange les morceaux de façon à ce qu'aucun d'entre eux ne puisse attaquer les autres. Il convient également de noter FPU FFT - un test pour le calcul rapide de la transformée de Fourier discrète et FPU Raytracing - calcul du lancer de rayons lors du rendu d'une scène 3D.

Le résultat dans la plupart des tests est donné en quelques secondes et, par conséquent, plus il est petit, mieux c'est. Tous les rapports sont affichés aux formats HTML et txt.

Initialement, l'utilitaire a été développé dans le cadre du projet BerliOS . Il comprenait une plate-forme d'hébergement pour les applications open source (telles que SourceForge ) et plusieurs bases de données pour la documentation et les profils des développeurs open source. BerliOS a été fermé en 2014 en raison d'un financement insuffisant. Aujourd'hui, HardInfo est développé par des passionnés dans un référentiel séparé sur GitHub.

Notez que parfois il y a des bogues dans le système. Il est connu d'une erreur de segmentation périodique, de problèmes d' affichage des périphériques USB et de plusieurs autres .

Apachebench


Outil de test de stress des serveurs HTTP. ApacheBench (AB) a été conçu pour tester Apache, mais il peut fonctionner sur n'importe quel autre serveur. L'outil est préinstallé sur de nombreuses distributions Linux.


Photos - Victor Freitas - Unsplash

L'utilitaire «bombarde» les serveurs avec un grand nombre de requêtes. Pour commencer, entrez la commande suivante:

 ab -n 100 -c 10 http://www.example.com/ 

Il enverra cent demandes GET (au plus dix d'entre elles seront transmises simultanément) à la ressource de test. En sortie, le système affichera le temps moyen de traitement des demandes, la quantité totale de données transférées, le débit et le nombre d'erreurs.

Aujourd'hui, une grande communauté s'est réunie autour de l'utilitaire. De nouveaux guides sur la configuration et l'utilisation d'ApacheBench apparaissent régulièrement sur le réseau.

Notez que AB a un analogique - Apache jMeter , mais avec de grandes fonctionnalités. Par exemple, il vous permet de générer des demandes à partir de plusieurs ordinateurs, en contrôlant le processus à partir de l'un d'eux. Le programme implémente également des mécanismes d'autorisation pour les utilisateurs virtuels et les sessions utilisateur sont prises en charge. Cet outil est utilisé par de nombreuses sociétés informatiques, y compris des fournisseurs de cloud, tels que Qualys .


Chez 1cloud, nous fournissons le service Cloud privé . Il s'agit d'une location d'infrastructure virtuelle avec la possibilité de personnaliser rapidement la flotte de serveurs virtuels .

Notre cloud est construit sur le matériel de Cisco, Dell, NetApp. L'équipement est situé dans plusieurs centres de données: DataSpace (Moscou), SDN / Xelent (Saint-Pétersbourg), Ahost (Alma-Ata).

Source: https://habr.com/ru/post/fr476126/


All Articles