Maison  >  Article  >  tutoriels informatiques  >  Avez-vous utilisé ces outils de tests de résistance pour les systèmes Linux ?

Avez-vous utilisé ces outils de tests de résistance pour les systèmes Linux ?

王林
王林avant
2024-03-21 16:12:451100parcourir

Avez-vous utilisé ces outils de tests de résistance pour les systèmes Linux ?

En tant que personnel d'exploitation et de maintenance, avez-vous déjà été confronté à ce scénario ? Vous devez utiliser des outils pour tester l'utilisation élevée du processeur ou de la mémoire du système afin de déclencher des alarmes, ou tester les capacités de concurrence du service via des tests de résistance. En tant qu'ingénieur d'exploitation et de maintenance, vous pouvez également utiliser ces commandes pour reproduire des scénarios de panne. Ensuite, cet article peut vous aider à maîtriser les commandes et outils de test couramment utilisés.

1. Avant-propos

Dans certains cas, afin de localiser et de reproduire des problèmes dans le projet, des outils doivent être utilisés pour effectuer des tests de résistance systématiques afin de simuler et de restaurer des scénarios de défaillance. À l’heure actuelle, les outils de tests ou de tests de résistance deviennent particulièrement importants. Nous explorerons ensuite l’utilisation de ces outils selon différents scénarios.

2. Outils de test

2.1 Outil de limitation de vitesse du réseau tc

tc est un outil de ligne de commande sous Linux permettant d'ajuster les paramètres du réseau. Il peut être utilisé pour simuler diverses conditions du réseau, notamment la limitation de la bande passante et de la latence du réseau. Le principal scénario d'application consiste à simuler les environnements réseau susceptibles de se produire dans le monde réel lors des tests afin d'évaluer les performances du système dans ces conditions. Les outils de limitation de vitesse du réseau sont souvent utilisés pour simuler différentes vitesses et stabilités du réseau afin que les développeurs puissent mieux comprendre le comportement de leurs applications dans divers environnements réseau. En ajustant les paramètres de la commande tc, une faible bande passante, une latence élevée, une perte de paquets, etc. peuvent être simulées, aidant ainsi les développeurs à optimiser leurs applications et à garantir qu'elles fonctionnent dans diverses conditions de réseau

Exemples d'utilisation

# 设置延时30ms
sudo tc qdisc add dev eth0 root netem delay 30ms

# 范围内延时(10-50ms)
sudo tc qdisc add dev eth0 root netem delay 30ms 20ms 

#设置丢包10%
sudo tc qdisc add dev eth0 root netem loss 10%

#删除丢包设置
sudo tc qdisc del dev eth0 root netem loss 10%

# 显示延时的设置 :
sudo tc qdisc show
sudo tc qdisc show dev eth0

# 修改延时:
sudo tc qdisc change dev eth0 root netem delay 40ms

#随机产生1%的重复数据包
sudo tc qdisc add dev eth0 root netem duplicate 1%

#设置数据包乱序
sudo tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

# 删除延时
sudo tc qdisc del dev eth0 root netem delay 40ms

Résultats des tests réels, nous définissons le délai de perte de paquets hôte à 40 ms, le délai avant modification est le suivant

Régler le délai sur 40 ms

[root@knode1 ~]# sudo tc qdisc add dev ens33 root netem delay 40ms
[root@knode1 ~]# sudo tc qdisc show dev ens33
qdisc netem 8002: root refcnt 2 limit 1000 delay 40.0ms

Test Ping à nouveau, l'effet est toujours très évident, c'est vraiment facile à utiliser, pour plus d'utilisation, les amis, étudiez-le vous-même

2.2 Outil de test de la mémoire CPU – stress

stress est un outil de test de stress sous Linux qui peut simuler des conditions de charge élevée sur le CPU et la mémoire pour tester la stabilité du système.

Les outils de test CPU/mémoire/disque sont généralement utilisés pour évaluer la stabilité du système dans des conditions de charge élevée et détecter les limites de performances du système. De plus, lors des tests d'alarme, l'outil de stress peut être utilisé pour simuler les performances du système sous contrainte et aider à évaluer la fiabilité et la réactivité du système. Grâce à ces outils, vous pouvez avoir une compréhension plus complète des performances du système dans différentes conditions de charge, afin de pouvoir prendre les mesures d'optimisation correspondantes si nécessaire pour garantir que le système est stable et fiable en fonctionnement réel.

Installation de l'outil

sudo apt-get install stress #ubuntu系统
yum install stress#Centos系统

Testez ensuite le CPU et la mémoire :

Testez le processeur, exécutez 4 processus en continu

# stress --io 2 --cpu 4 --vm 2 --vm-bytes 80M --timeout 1440m
--cpu N:
生成 N 个工作进程来施加 CPU 负载。

# stress --cpu 8 会创建 8 个进程,每个都尝试占用 100% 的 CPU 时间。
--io N:
生成 N 个工作进程来执行 I/O 操作,增加 I/O 负载。

# stress --io 4 会创建 4 个 I/O 生成进程。
--vm N:

# 生成 N 个工作进程来分配内存并定期写入随机数据。
每个进程默认分配 256MB 内存。
--vm-bytes B:

#指定每个 --vm 工作进程分配的内存量。
stress --vm 2 --vm-bytes 128M 会生成 2 个工作进程,每个分配 128MB 内存。
--hdd N:

# 生成 N 个工作进程来执行磁盘 I/O 操作。
stress --hdd 2 会创建 2 个磁盘 I/O 生成进程。
--hdd-bytes B:

# 指定每个 --hdd 工作进程写入磁盘的数据量。
stress --hdd 1 --hdd-bytes 1G 会创建一个工作进程来写入 1GB 的数据。
--timeout T:

# 指定 stress 运行的时间,T 是时间,可以是秒(默认)、分钟(加 m)、小时(加 h)。
stress --cpu 4 --timeout 30s 会在 30 秒后停止 CPU 负载测试

# 显示详细信息,包括生成的工作进程的状态。
--verbose:

Expérience : test de résistance de 4 processeurs, durée 180 s

stress --cpu 4 --timeout 180s

Testez la mémoire, allouez 1 Go de mémoire

stress --vm 2 --vm-bytes 20G --timeout 360s
--vm 2: 表示启动2个虚拟内存压力工作线程。
--vm-bytes 20G: 每个工作线程使用的虚拟内存大小为20GB。
--timeout 360s: 设置压力测试持续时间为360秒(6分钟)

2.3 Outil de test de vitesse de disque dd

dd est un outil en ligne de commande sous Linux utilisé pour copier des fichiers et convertir des données. Grâce à lui, nous pouvons tester la vitesse de lecture et d’écriture du disque dur.

Scénarios d'utilisation : les outils de test de vitesse du disque dur sont souvent utilisés pour évaluer les performances du disque, sélectionner la solution de stockage la plus appropriée et détecter s'il existe des goulots d'étranglement de performances sur le disque.

Pour tester la vitesse de lecture et la vitesse d'écriture, vous pouvez utiliser différents paramètres de la commande dd. Par exemple, pour tester la vitesse de lecture, vous pouvez utiliser le paramètre if pour lire les données d'un fichier, et pour tester la vitesse d'écriture, vous pouvez utiliser le paramètre of pour écrire des données dans un fichier.

Test de vitesse d'écriture :

dd if=/dev/zero of=/data/test bs=4k count=100k

Cela écrira zéro donnée dans le fichier /data/test pour tester la vitesse d'écriture

dd if=/data/test of=/dev/null bs=4k

Cela lira les données du fichier /data/test et les supprimera, testant ainsi la vitesse de lecture.

注:也可以使用fio来测磁盘速度

2.4. Outil de test de stress d'accès au trafic – ab

ab est un petit outil fourni avec Apache, utilisé pour tester les performances des serveurs HTTP. Scénarios d'utilisation : les outils de test de stress d'accès au trafic sont souvent utilisés pour évaluer les performances des serveurs Web et détecter les performances du système sous accès simultané.

installation de l'outil ab

sudo apt-get install apache2-utils #ubuntu系统
sudo yum install httpd-tools #Centos系统

Testez le nombre de connexions simultanées au site

ab -c 10 -n 100 https://example.com/

Cela créera 10 connexions simultanées, chacune effectuant 100 requêtes.

Testez la vitesse de requête du site

ab -n 1000 -c 100 https://example.com/

Cela créera 100 connexions simultanées et exécutera un total de 1 000 requêtes. À ce stade, vous pouvez observer le processeur et la mémoire via la surveillance pour évaluer initialement la capacité de charge simultanée de la plate-forme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer