Have you used these stress testing tools for Linux systems?
As an operation and maintenance personnel, have you ever encountered this scenario? You need to use tools to test high system CPU or memory usage to trigger alarms, or test the concurrency capabilities of the service through stress testing. As an operation and maintenance engineer, you can also use these commands to reproduce fault scenarios. Then this article can help you master commonly used testing commands and tools.
I. Introduction
In some cases, in order to locate and reproduce problems in the project, tools must be used to conduct systematic stress testing to simulate and restore failure scenarios. At this time testing or stress testing tools become particularly important. Next, we will explore the use of these tools according to different scenarios.
2. Testing Tools
2.1 Network speed limiting tool tc
tc is a command line tool in Linux used to adjust network parameters. It can be used to simulate various network conditions, including limiting network bandwidth and latency. The main application scenario is to simulate network environments that may occur in the real world during testing to evaluate the system's performance under these conditions. Network speed limiting tools are often used to simulate different network speeds and stabilities so that developers can better understand how their applications will behave in various network environments. By adjusting the parameters of the tc command, low bandwidth, high latency, packet loss, etc. can be simulated, thereby helping developers optimize their applications and ensure that they work under various network conditions
Usage examples
# Set delay 30ms sudo tc qdisc add dev eth0 root netem delay 30ms # Delay within range (10-50ms) sudo tc qdisc add dev eth0 root netem delay 30ms 20ms #Set packet loss 10% sudo tc qdisc add dev eth0 root netem loss 10% #Delete packet loss settings sudo tc qdisc del dev eth0 root netem loss 10% # Display delay settings: sudo tc qdisc show sudo tc qdisc show dev eth0 # Modify delay: sudo tc qdisc change dev eth0 root netem delay 40ms #Randomly generate 1% duplicate data packets sudo tc qdisc add dev eth0 root netem duplicate 1% #Set packet reordering sudo tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50% # Delete delay sudo tc qdisc del dev eth0 root netem delay 40ms
Actual measurement results, we set the host packet loss delay to 40ms, the delay before modification is as follows
Set delay 40ms
[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
Ping test again, the effect is still very obvious, it is really easy to use, for more usage, friends, please study it yourself
2.2 CPU memory test tool – stress
stress is a stress testing tool under Linux that can simulate high load conditions on the CPU and memory to test the stability of the system.
CPU/memory/disk testing tools are usually used to evaluate the stability of the system under high load conditions and detect the performance limits of the system. In addition, when performing alarm testing, the stress tool can be used to simulate the system's performance under stress and help evaluate the system's reliability and responsiveness. Through these tools, you can have a more comprehensive understanding of the system's performance under different load conditions, so that you can take corresponding optimization measures when necessary to ensure that the system is stable and reliable in actual operation.
Tool installation
sudo apt-get install stress #ubuntu system yum install stress#Centos system
Then test the CPU and memory:
Test CPU, continuously run 4 processes
# stress --io 2 --cpu 4 --vm 2 --vm-bytes 80M --timeout 1440m --cpu N: Spawn N worker processes to impose CPU load. # stress --cpu 8 creates 8 processes, each trying to take 100% of the CPU time. --io N: Spawn N worker processes to perform I/O operations and increase I/O load. # stress --io 4 will create 4 I/O generation processes. --vm N: # Spawn N worker processes to allocate memory and write random data regularly. Each process is allocated 256MB of memory by default. --vm-bytes B: #Specify the amount of memory allocated by each --vm worker process. stress --vm 2 --vm-bytes 128M will spawn 2 worker processes, each allocated 128MB of memory. --hdd N: # Spawn N worker processes to perform disk I/O operations. stress --hdd 2 creates 2 disk I/O generation processes. --hdd-bytes B: # Specify the amount of data written to disk by each --hdd worker process. stress --hdd 1 --hdd-bytes 1G will create a worker process to write 1GB of data. --timeout T: # Specify the time for stress to run. T is the time, which can be seconds (default), minutes (add m), or hours (add h). stress --cpu 4 --timeout 30s will stop the CPU load test after 30 seconds # Display detailed information, including the status of the spawned worker process. --verbose:
Experiment: Stress test 4 CPUs, duration 180s
stress --cpu 4 --timeout 180s
Test memory, allocate 1GB memory
stress --vm 2 --vm-bytes 20G --timeout 360s --vm 2: means to start 2 virtual memory pressure worker threads. --vm-bytes 20G: The virtual memory size used by each worker thread is 20GB. --timeout 360s: Set the stress test duration to 360 seconds (6 minutes)
2.3 Disk speed test tool dd
dd is a command line tool under Linux, used to copy files and convert data. Through it, we can test the read and write speed of the hard disk.
Usage scenarios: Hard disk speed testing tools are often used to evaluate disk performance, select the most suitable storage solution, and detect whether there are performance bottlenecks on the disk.
To test the read speed and write speed, you can use different parameters of the dd command. For example, to test the reading speed, you can use the if parameter to read data from a file, and to test the writing speed, you can use the of parameter to write data to a file.
Test writing speed:
dd if=/dev/zero of=/data/test bs=4k count=100k
This will write zero data to the /data/test file to test the writing speed
dd if=/data/test of=/dev/null bs=4k
This will read the data from the /data/test file and discard it, thus testing the read speed.
Note: You can also use fio to measure disk speed
2.4. Traffic access stress testing tool – ab
ab is a small tool that comes with Apache, used to test the performance of HTTP servers. Usage scenarios: Traffic access stress testing tools are often used to evaluate the performance of web servers and detect the performance of the system under concurrent access.
ab tool installation
sudo apt-get install apache2-utils #ubuntu system sudo yum install httpd-tools #Centos system
Number of concurrent connections to the test website
ab -c 10 -n 100 https://example.com/
This will create 10 concurrent connections, each performing 100 requests.
Test the request speed of the website
ab -n 1000 -c 100 https://example.com/
This will create 100 concurrent connections and execute a total of 1,000 requests. At this time, you can observe the CPU and memory through monitoring to initially evaluate the concurrent carrying capacity of the platform.
The above is the detailed content of Have you used these stress testing tools for Linux systems?. For more information, please follow other related articles on the PHP Chinese website!

Do you have trouble downloading or sending attachments in Outlook 365? Sometimes, Outlook doesn’t show them for some unknown reason, so you are unable to see them. In this post on php.cn Website, we collect some use tips for attachments not showing.

When V Rising players try to join a server that is close to or already full, they may encounter the “V Rising connection timed out” issue. If you are one of them, you can refer to this post from php.cn to get solutions. Now, keep on your reading.

Windows supplies real-time protection via Windows Security. But this feature may prevent you from doing something it thinks are dangerous. In this situation, you may want to temporarily turn on real-time protection. This php.cn post will show you how

Microsoft has started working on next year’s Windows updates very early. Recent rumors state that the next update in 2024 might be Windows 11 24H2 rather than Windows 12. Everything is uncertain now. php.cn will now take you to see some related infor

The error 0x80030001 often happens when you are attempting to copy files. The error code will be accompanied by a message that tells “unable to perform requested operation”. If you are struggling with this error, you can read this article on php.cn W

On February 13, 2024, Microsoft released KB5034765 (OS builds 22621.3155 and 22631.3155) for Windows 11 22H2 and Windows 11 23H2. This security update brings you many new improvements and bug fixes. You can learn how to download and install Windows 1

Device Manager is widely used when you need to fix some computer issues. You can check the problematic devices and decide to uninstall or update device drivers. Besides, you can also set Power Management settings in Device Manager. However, you may f

When Backup and Restore (Windows Backup) fails to work, you can choose to reset it to default. How to restore Windows Backup to default in Windows 11/10? php.cn will guide you to easily do this thing in 2 ways and let’s go to see them.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Chinese version
Chinese version, very easy to use

Atom editor mac version download
The most popular open source editor