{"id":321,"date":"2026-10-15T09:56:17","date_gmt":"2026-10-15T09:56:17","guid":{"rendered":"https:\/\/alavps.com\/blog\/?p=321"},"modified":"2026-10-15T09:56:17","modified_gmt":"2026-10-15T09:56:17","slug":"vps-performance-test-fio-sysbench-iperf3","status":"publish","type":"post","link":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/","title":{"rendered":"How to Run Your Own VPS Performance Test Using fio, sysbench &#038; iperf3"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p data-lfile-container=\"4c55d87a-8d32-4a58-bbc1-8a69050ceb32\" data-pm-slice=\"1 1 []\"><em>A practical guide for Linux VPS owners. Takes about 15 minutes.<\/em><\/p>\n<p>Provider spec sheets tell you how many vCPUs, how much RAM and what disk a plan includes. They don&#8217;t tell you how fast those resources actually are. Two VPS plans with identical specs can perform very differently because of the CPU model, how heavily the host node is oversold, and the storage backend behind your disk.<\/p>\n<p>The good news: you don&#8217;t need a paid tool to find out. Three free, open-source utilities cover everything. <strong>sysbench<\/strong> tests CPU and memory, <strong>fio<\/strong> tests disk I\/O, and <strong>iperf3<\/strong> tests network throughput. This guide gives you the exact commands, explains how to read the output, and points out the mistakes that make benchmark results meaningless.<\/p>\n<h2 id=\"what-youll-need\"><span class=\"ez-toc-section\" id=\"What_Youll_Need\"><\/span>What You&#8217;ll Need<span class=\"ez-toc-section-end\"><\/span><\/h2><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6ad1a86fb26a5\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6ad1a86fb26a5\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#What_Youll_Need\" >What You&#8217;ll Need<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Step_1_Install_the_Tools\" >Step 1: Install the Tools<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Step_2_Record_Your_Hardware_First\" >Step 2: Record Your Hardware First<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Step_3_Test_CPU_Performance_with_sysbench\" >Step 3: Test CPU Performance with sysbench<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Step_4_Test_Memory_Speed\" >Step 4: Test Memory Speed<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Step_5_Test_Disk_Performance_with_fio\" >Step 5: Test Disk Performance with fio<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Step_6_Test_Network_Speed_with_iperf3\" >Step 6: Test Network Speed with iperf3<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#How_to_Read_Your_Results\" >How to Read Your Results<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#5_Mistakes_That_Ruin_VPS_Benchmarks\" >5 Mistakes That Ruin VPS Benchmarks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Bonus_A_Quick_All-in-One_Script\" >Bonus: A Quick All-in-One Script<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Frequently_Asked_Questions\" >Frequently Asked Questions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n\n<ul>\n<li>A Linux VPS (the commands target Ubuntu\/Debian, with notes for AlmaLinux, Rocky and other RHEL-family systems)<\/li>\n<li>Root or sudo access<\/li>\n<li>A second server for the network test (another VPS or your own machine)<\/li>\n<li>About 3 GB of free disk space for the disk test<\/li>\n<\/ul>\n<blockquote><p><strong>Important:<\/strong> run these tests on a new or idle VPS. The disk test generates heavy I\/O and can slow down any websites running on the server at the same time.<\/p><\/blockquote>\n<h2 id=\"step-1-install-the-tools\"><span class=\"ez-toc-section\" id=\"Step_1_Install_the_Tools\"><\/span>Step 1: Install the Tools<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Ubuntu \/ Debian:<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">sudo apt update\r\nsudo apt install -y sysbench fio iperf3<\/code><\/pre>\n<p><strong>AlmaLinux \/ Rocky \/ RHEL:<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">sudo dnf install -y epel-release\r\nsudo dnf install -y sysbench fio iperf3<\/code><\/pre>\n<p>Confirm everything installed:<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">sysbench --version\r\nfio --version\r\niperf3 --version<\/code><\/pre>\n<h2 id=\"step-2-record-your-hardware-first\"><span class=\"ez-toc-section\" id=\"Step_2_Record_Your_Hardware_First\"><\/span>Step 2: Record Your Hardware First<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Results only make sense next to the specs they came from. Note these down before you test:<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">lscpu | grep -E 'Model name|^CPU\\(s\\)|MHz'\r\nfree -h\r\ndf -h \/<\/code><\/pre>\n<p>This gives you the CPU model, number of vCPUs, RAM and free disk space.<\/p>\n<h2 id=\"step-3-test-cpu-performance-with-sysbench\"><span class=\"ez-toc-section\" id=\"Step_3_Test_CPU_Performance_with_sysbench\"><\/span>Step 3: Test CPU Performance with sysbench<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>sysbench&#8217;s CPU test calculates prime numbers and reports how many it can complete per second. Run it twice: once on a single thread and once using all your vCPUs.<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\"># Single thread\r\nsysbench cpu --cpu-max-prime=20000 --threads=1 run\r\n\r\n# All vCPUs\r\nsysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run<\/code><\/pre>\n<p>The lines that matter in the output:<\/p>\n<ul>\n<li><strong>events per second<\/strong>: higher is better<\/li>\n<li><strong>total time<\/strong>: lower is better<\/li>\n<li><strong>latency (avg \/ 95th percentile)<\/strong>: lower and more consistent is better<\/li>\n<\/ul>\n<p><strong>How to read it:<\/strong> single-thread speed shows how fast each core is, which matters for PHP, WordPress and most web workloads. The multi-thread result should scale close to your vCPU count. If a 4 vCPU plan only gives you about 2x the single-thread score, the CPU is being shared or throttled. For a deeper look at how cores affect real websites, see our guide on <a href=\"https:\/\/alavps.com\/blog\/how-cpu-cores-impact-your-websites-speed\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">how CPU cores impact your website&#8217;s speed<\/a>.<\/p>\n<p><strong>Watch for steal time.<\/strong> While the test runs, open a second terminal and run:<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">vmstat 1<\/code><\/pre>\n<p>Look at the <code spellcheck=\"false\">st<\/code> column. It shows the percentage of CPU time your VPS wanted but the hypervisor gave to someone else. As a rule of thumb, steal time that stays above about 5% means the host node is overcrowded.<\/p>\n<h2 id=\"step-4-test-memory-speed\"><span class=\"ez-toc-section\" id=\"Step_4_Test_Memory_Speed\"><\/span>Step 4: Test Memory Speed<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<pre spellcheck=\"false\"><code class=\"language-bash\">sysbench memory --memory-block-size=1M --memory-total-size=10G --threads=1 run<\/code><\/pre>\n<p>Look at the <strong>MiB\/sec<\/strong> figure. Memory speed rarely differs wildly between providers, but very low numbers can point to an overloaded host or an old platform.<\/p>\n<h2 id=\"step-5-test-disk-performance-with-fio\"><span class=\"ez-toc-section\" id=\"Step_5_Test_Disk_Performance_with_fio\"><\/span>Step 5: Test Disk Performance with fio<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Disk speed is where VPS plans differ the most, and it is the number that most affects database-heavy sites. We will run four tests that cover the main real-world patterns.<\/p>\n<p>The key flags:<\/p>\n<ul>\n<li><code spellcheck=\"false\">--direct=1<\/code> bypasses the operating system cache so you measure the disk, not RAM<\/li>\n<li><code spellcheck=\"false\">--bs<\/code> is the block size (1M for sequential, 4k for random)<\/li>\n<li><code spellcheck=\"false\">--iodepth<\/code> is how many requests are queued at once<\/li>\n<li><code spellcheck=\"false\">--runtime=60 --time_based<\/code> runs for a full 60 seconds, which exposes burst limits that short tests miss<\/li>\n<\/ul>\n<p><strong>Sequential write (large file copies, backups):<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">fio --name=seq-write --filename=fio-test --size=2G --bs=1M --rw=write \\\r\n  --ioengine=libaio --direct=1 --iodepth=16 --runtime=60 --time_based --group_reporting<\/code><\/pre>\n<p><strong>Sequential read:<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">fio --name=seq-read --filename=fio-test --size=2G --bs=1M --rw=read \\\r\n  --ioengine=libaio --direct=1 --iodepth=16 --runtime=60 --time_based --group_reporting<\/code><\/pre>\n<p><strong>Random 4k read (databases, CMS page loads):<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">fio --name=rand-read-4k --filename=fio-test --size=2G --bs=4k --rw=randread \\\r\n  --ioengine=libaio --direct=1 --iodepth=32 --numjobs=4 --runtime=60 --time_based --group_reporting<\/code><\/pre>\n<p><strong>Random 4k write, or mixed 70\/30 read-write:<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">fio --name=rand-write-4k --filename=fio-test --size=2G --bs=4k --rw=randwrite \\\r\n  --ioengine=libaio --direct=1 --iodepth=32 --numjobs=4 --runtime=60 --time_based --group_reporting\r\n\r\nfio --name=mixed-4k --filename=fio-test --size=2G --bs=4k --rw=randrw --rwmixread=70 \\\r\n  --ioengine=libaio --direct=1 --iodepth=32 --numjobs=4 --runtime=60 --time_based --group_reporting<\/code><\/pre>\n<p>When you finish, delete the test file:<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">rm fio-test<\/code><\/pre>\n<p><strong>Reading the fio output:<\/strong><\/p>\n<ul>\n<li><strong>IOPS<\/strong>: operations per second. This is the headline number for random tests.<\/li>\n<li><strong>BW<\/strong>: throughput in MiB\/s. This is the headline number for sequential tests.<\/li>\n<li><strong>clat percentiles (p99)<\/strong>: completion latency. A good disk keeps p99 low and steady. Large spikes usually mean noisy neighbours.<\/li>\n<\/ul>\n<p>Sequential speed is mostly about bragging rights. Random 4k IOPS and latency are what decide how fast your database and website feel.<\/p>\n<h2 id=\"step-6-test-network-speed-with-iperf3\"><span class=\"ez-toc-section\" id=\"Step_6_Test_Network_Speed_with_iperf3\"><\/span>Step 6: Test Network Speed with iperf3<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>iperf3 needs two machines: a server and a client. Using a server close to your VPS gives you the most useful result.<\/p>\n<p><strong>On the server (the machine you test against):<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">iperf3 -s<\/code><\/pre>\n<p>If it has a firewall, open the default port first:<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">sudo ufw allow 5201<\/code><\/pre>\n<p><strong>On your VPS (the client):<\/strong><\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\"># Standard 30-second upload test\r\niperf3 -c SERVER_IP -t 30\r\n\r\n# Reverse mode: tests download speed\r\niperf3 -c SERVER_IP -t 30 -R\r\n\r\n# 4 parallel streams, better for high-latency links\r\niperf3 -c SERVER_IP -t 30 -P 4<\/code><\/pre>\n<p>Replace <code spellcheck=\"false\">SERVER_IP<\/code> with the real address. Many providers and community members also publish public iperf3 servers you can test against if you don&#8217;t have a second machine.<\/p>\n<p><strong>What to check:<\/strong><\/p>\n<ul>\n<li><strong>Bitrate (sender and receiver)<\/strong>: should land close to your advertised port speed. A 1 Gbps port that only delivers 300 Mbps deserves a support ticket.<\/li>\n<li><strong>Retr (retransmits)<\/strong>: should be low. High numbers mean packet loss on the path.<\/li>\n<\/ul>\n<p>For latency and routing, add a quick check:<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">ping -c 20 SERVER_IP\r\nmtr -rw -c 50 SERVER_IP<\/code><\/pre>\n<p><img decoding=\"async\" class=\"wp-image-325 aligncenter lazyload\" data-src=\"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/sysbench-CPU-benchmark-results-demo1.png\" alt=\"\" width=\"790\" height=\"508\" data-srcset=\"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/sysbench-CPU-benchmark-results-demo1.png 1058w, https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/sysbench-CPU-benchmark-results-demo1-300x193.png 300w, https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/sysbench-CPU-benchmark-results-demo1-1024x658.png 1024w, https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/sysbench-CPU-benchmark-results-demo1-768x494.png 768w\" data-sizes=\"(max-width: 790px) 100vw, 790px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 790px; --smush-placeholder-aspect-ratio: 790\/508;\" \/><\/p>\n<h2 id=\"how-to-read-your-results\"><span class=\"ez-toc-section\" id=\"How_to_Read_Your_Results\"><\/span>How to Read Your Results<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>These are rough guides, not guarantees. Numbers vary by plan, node and time of day.<\/p>\n<table>\n<colgroup>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th colspan=\"1\" rowspan=\"1\">Metric<\/th>\n<th colspan=\"1\" rowspan=\"1\">Where to find it<\/th>\n<th colspan=\"1\" rowspan=\"1\">What to look for<\/th>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">CPU single-thread<\/td>\n<td colspan=\"1\" rowspan=\"1\">sysbench events\/sec<\/td>\n<td colspan=\"1\" rowspan=\"1\">Only meaningful compared with other servers tested with identical settings<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">CPU scaling<\/td>\n<td colspan=\"1\" rowspan=\"1\">multi-thread vs single-thread<\/td>\n<td colspan=\"1\" rowspan=\"1\">Should be close to vCPU count x single-thread score<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Steal time<\/td>\n<td colspan=\"1\" rowspan=\"1\"><code spellcheck=\"false\">vmstat<\/code> st column<\/td>\n<td colspan=\"1\" rowspan=\"1\">Consistently above about 5% suggests an overcrowded node<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Random 4k IOPS<\/td>\n<td colspan=\"1\" rowspan=\"1\">fio<\/td>\n<td colspan=\"1\" rowspan=\"1\">HDD: roughly 100 to 200. SATA SSD: tens of thousands. NVMe: often 100k or more, though plans may cap it<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Disk latency<\/td>\n<td colspan=\"1\" rowspan=\"1\">fio clat p99<\/td>\n<td colspan=\"1\" rowspan=\"1\">Low and steady. Big spikes point to contention<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Network<\/td>\n<td colspan=\"1\" rowspan=\"1\">iperf3 bitrate<\/td>\n<td colspan=\"1\" rowspan=\"1\">Close to the port speed, with few retransmits<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"5-mistakes-that-ruin-vps-benchmarks\"><span class=\"ez-toc-section\" id=\"5_Mistakes_That_Ruin_VPS_Benchmarks\"><\/span>5 Mistakes That Ruin VPS Benchmarks<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li><strong>Running the test once.<\/strong> Run each test at least three times, at different times of day, and use the median.<\/li>\n<li><strong>Skipping <code spellcheck=\"false\">--direct=1<\/code> in fio.<\/strong> Without it you are measuring RAM cache, not your disk.<\/li>\n<li><strong>Testing the network against a far-away server.<\/strong> Distance adds latency and lowers throughput. Test against a nearby server and note where it is.<\/li>\n<li><strong>Comparing results with different settings.<\/strong> A sysbench score with <code spellcheck=\"false\">--cpu-max-prime=20000<\/code> cannot be compared with one using the default. Keep every parameter identical across providers.<\/li>\n<li><strong>Running short tests.<\/strong> Some plans allow a fast burst and then throttle. A 60-second test shows what you get when the burst is gone.<\/li>\n<\/ol>\n<h2 id=\"bonus-a-quick-all-in-one-script\"><span class=\"ez-toc-section\" id=\"Bonus_A_Quick_All-in-One_Script\"><\/span>Bonus: A Quick All-in-One Script<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Save this as <code spellcheck=\"false\">vpstest.sh<\/code>, run it with <code spellcheck=\"false\">bash vpstest.sh<\/code>, and keep the output for comparison:<\/p>\n<pre spellcheck=\"false\"><code class=\"language-bash\">#!\/bin\/bash\r\necho '== System =='\r\nlscpu | grep -E 'Model name|^CPU\\(s\\)'\r\nfree -h | grep Mem\r\n\r\necho '== CPU: 1 thread =='\r\nsysbench cpu --cpu-max-prime=20000 --threads=1 run | grep -E 'events per second|total time'\r\n\r\necho '== CPU: all threads =='\r\nsysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run | grep -E 'events per second|total time'\r\n\r\necho '== Memory =='\r\nsysbench memory --memory-block-size=1M --memory-total-size=10G --threads=1 run | grep -E 'MiB transferred'\r\n\r\necho '== Disk: random read 4k =='\r\nfio --name=rr --filename=fio-test --size=1G --bs=4k --rw=randread --ioengine=libaio \\\r\n  --direct=1 --iodepth=32 --numjobs=4 --runtime=30 --time_based --group_reporting | grep -E 'IOPS|BW'\r\n\r\necho '== Disk: random write 4k =='\r\nfio --name=rw --filename=fio-test --size=1G --bs=4k --rw=randwrite --ioengine=libaio \\\r\n  --direct=1 --iodepth=32 --numjobs=4 --runtime=30 --time_based --group_reporting | grep -E 'IOPS|BW'\r\n\r\nrm -f fio-test<\/code><\/pre>\n<h2 id=\"frequently-asked-questions\"><span class=\"ez-toc-section\" id=\"Frequently_Asked_Questions\"><\/span>Frequently Asked Questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Is it safe to run fio on a live VPS?<\/strong> It is safe for your data, because fio only writes to the test file you name. It does create heavy disk load, so run it during quiet hours or on a fresh server. Some providers also limit sustained disk activity, so check your plan&#8217;s fair-use rules first.<\/p>\n<p><strong>Why are my results lower than the provider&#8217;s marketing numbers?<\/strong> Marketing figures usually come from ideal conditions: an empty node, short bursts and large block sizes. Your 60-second random 4k test reflects a much more realistic workload.<\/p>\n<p><strong>How often should I re-test?<\/strong> Test when you first get the server, then again after major changes or if the site feels slow. Repeat testing also catches a node that gets crowded over time.<\/p>\n<p><strong>Do these tests work on Windows VPS?<\/strong> sysbench and fio have Windows builds, and iperf3 works too, but the commands above are written for Linux.<\/p>\n<h2 id=\"conclusion\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A 15-minute test with sysbench, fio and iperf3 gives you hard numbers instead of marketing claims. Record your CPU scores, random-disk IOPS and network throughput, repeat each test a few times, and compare providers using identical settings.<\/p>\n<p>Once your benchmark is done, keep an eye on the server over time with our list of the <a href=\"https:\/\/alavps.com\/blog\/best-vps-server-uptime-monitoring-tools\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">best VPS uptime monitoring tools<\/a>, and if you&#8217;ve just set up a new server, follow our <a href=\"https:\/\/alavps.com\/blog\/basic-steps-to-follow-after-purchasing-a-linux-vps\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">post-purchase Linux VPS checklist<\/a> to secure it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A practical guide for Linux VPS owners. Takes about 15 minutes. Provider spec sheets tell you how many vCPUs, how much RAM and what disk a plan includes. They don&#8217;t tell you how fast those resources actually are. Two VPS plans with identical specs can perform very differently because of the CPU model, how heavily [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":323,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[11],"tags":[45,47,46,44,43],"class_list":["post-321","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-tos","tag-fio-benchmark","tag-iperf3","tag-sysbench","tag-vps-benchmark","tag-vps-performance-test"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VPS Performance Test: fio, sysbench &amp; iperf3 Guide (2026)<\/title>\n<meta name=\"description\" content=\"Learn how to benchmark your VPS yourself. Step-by-step fio, sysbench and iperf3 commands to test CPU, disk I\/O and network speed, with results explained.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VPS Performance Test: fio, sysbench &amp; iperf3 Guide (2026)\" \/>\n<meta property=\"og:description\" content=\"Learn how to benchmark your VPS yourself. Step-by-step fio, sysbench and iperf3 commands to test CPU, disk I\/O and network speed, with results explained.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/\" \/>\n<meta property=\"og:site_name\" content=\"Alavps Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-15T09:56:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/vps-performance-test-fio-sysbenc.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1295\" \/>\n\t<meta property=\"og:image:height\" content=\"687\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"alavpsblog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"alavpsblog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/\"},\"author\":{\"name\":\"alavpsblog\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#\\\/schema\\\/person\\\/67433f2932ad1e398db0b282cc965644\"},\"headline\":\"How to Run Your Own VPS Performance Test Using fio, sysbench &#038; iperf3\",\"datePublished\":\"2026-10-15T09:56:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/\"},\"wordCount\":1265,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/alavps.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/vps-performance-test-fio-sysbenc.png\",\"keywords\":[\"fio benchmark\",\"iperf3\",\"sysbench\",\"vps benchmark\",\"vps performance test\"],\"articleSection\":[\"How tos\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/\",\"url\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/\",\"name\":\"VPS Performance Test: fio, sysbench & iperf3 Guide (2026)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/alavps.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/vps-performance-test-fio-sysbenc.png\",\"datePublished\":\"2026-10-15T09:56:17+00:00\",\"description\":\"Learn how to benchmark your VPS yourself. Step-by-step fio, sysbench and iperf3 commands to test CPU, disk I\\\/O and network speed, with results explained.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#primaryimage\",\"url\":\"https:\\\/\\\/alavps.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/vps-performance-test-fio-sysbenc.png\",\"contentUrl\":\"https:\\\/\\\/alavps.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/vps-performance-test-fio-sysbenc.png\",\"width\":1295,\"height\":687,\"caption\":\"VPS performance test with fio, sysbench and iperf3\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/vps-performance-test-fio-sysbench-iperf3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/alavps.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Run Your Own VPS Performance Test Using fio, sysbench &#038; iperf3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/alavps.com\\\/blog\\\/\",\"name\":\"Alavps\",\"description\":\"All About VPS &amp; Hosting\",\"publisher\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/alavps.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#organization\",\"name\":\"Alavps\",\"url\":\"https:\\\/\\\/alavps.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/alavps.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/cropped-logo.png\",\"contentUrl\":\"https:\\\/\\\/alavps.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/cropped-logo.png\",\"width\":225,\"height\":44,\"caption\":\"Alavps\"},\"image\":{\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/alavps.com\\\/blog\\\/#\\\/schema\\\/person\\\/67433f2932ad1e398db0b282cc965644\",\"name\":\"alavpsblog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8b3790daa42781f4c339d739e7ca7b1a944f02d59a994fad72790b42612ff000?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8b3790daa42781f4c339d739e7ca7b1a944f02d59a994fad72790b42612ff000?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8b3790daa42781f4c339d739e7ca7b1a944f02d59a994fad72790b42612ff000?s=96&d=mm&r=g\",\"caption\":\"alavpsblog\"},\"url\":\"https:\\\/\\\/alavps.com\\\/blog\\\/author\\\/alavpsblog\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VPS Performance Test: fio, sysbench & iperf3 Guide (2026)","description":"Learn how to benchmark your VPS yourself. Step-by-step fio, sysbench and iperf3 commands to test CPU, disk I\/O and network speed, with results explained.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/","og_locale":"en_US","og_type":"article","og_title":"VPS Performance Test: fio, sysbench & iperf3 Guide (2026)","og_description":"Learn how to benchmark your VPS yourself. Step-by-step fio, sysbench and iperf3 commands to test CPU, disk I\/O and network speed, with results explained.","og_url":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/","og_site_name":"Alavps Blog","article_published_time":"2026-10-15T09:56:17+00:00","og_image":[{"width":1295,"height":687,"url":"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/vps-performance-test-fio-sysbenc.png","type":"image\/png"}],"author":"alavpsblog","twitter_card":"summary_large_image","twitter_misc":{"Written by":"alavpsblog","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#article","isPartOf":{"@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/"},"author":{"name":"alavpsblog","@id":"https:\/\/alavps.com\/blog\/#\/schema\/person\/67433f2932ad1e398db0b282cc965644"},"headline":"How to Run Your Own VPS Performance Test Using fio, sysbench &#038; iperf3","datePublished":"2026-10-15T09:56:17+00:00","mainEntityOfPage":{"@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/"},"wordCount":1265,"commentCount":0,"publisher":{"@id":"https:\/\/alavps.com\/blog\/#organization"},"image":{"@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#primaryimage"},"thumbnailUrl":"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/vps-performance-test-fio-sysbenc.png","keywords":["fio benchmark","iperf3","sysbench","vps benchmark","vps performance test"],"articleSection":["How tos"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/","url":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/","name":"VPS Performance Test: fio, sysbench & iperf3 Guide (2026)","isPartOf":{"@id":"https:\/\/alavps.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#primaryimage"},"image":{"@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#primaryimage"},"thumbnailUrl":"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/vps-performance-test-fio-sysbenc.png","datePublished":"2026-10-15T09:56:17+00:00","description":"Learn how to benchmark your VPS yourself. Step-by-step fio, sysbench and iperf3 commands to test CPU, disk I\/O and network speed, with results explained.","breadcrumb":{"@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#primaryimage","url":"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/vps-performance-test-fio-sysbenc.png","contentUrl":"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2026\/10\/vps-performance-test-fio-sysbenc.png","width":1295,"height":687,"caption":"VPS performance test with fio, sysbench and iperf3"},{"@type":"BreadcrumbList","@id":"https:\/\/alavps.com\/blog\/vps-performance-test-fio-sysbench-iperf3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/alavps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Run Your Own VPS Performance Test Using fio, sysbench &#038; iperf3"}]},{"@type":"WebSite","@id":"https:\/\/alavps.com\/blog\/#website","url":"https:\/\/alavps.com\/blog\/","name":"Alavps","description":"All About VPS &amp; Hosting","publisher":{"@id":"https:\/\/alavps.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/alavps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/alavps.com\/blog\/#organization","name":"Alavps","url":"https:\/\/alavps.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/alavps.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-logo.png","contentUrl":"https:\/\/alavps.com\/blog\/wp-content\/uploads\/2020\/03\/cropped-logo.png","width":225,"height":44,"caption":"Alavps"},"image":{"@id":"https:\/\/alavps.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/alavps.com\/blog\/#\/schema\/person\/67433f2932ad1e398db0b282cc965644","name":"alavpsblog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8b3790daa42781f4c339d739e7ca7b1a944f02d59a994fad72790b42612ff000?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8b3790daa42781f4c339d739e7ca7b1a944f02d59a994fad72790b42612ff000?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8b3790daa42781f4c339d739e7ca7b1a944f02d59a994fad72790b42612ff000?s=96&d=mm&r=g","caption":"alavpsblog"},"url":"https:\/\/alavps.com\/blog\/author\/alavpsblog\/"}]}},"_links":{"self":[{"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/posts\/321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/comments?post=321"}],"version-history":[{"count":2,"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/posts\/321\/revisions"}],"predecessor-version":[{"id":326,"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/posts\/321\/revisions\/326"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/media\/323"}],"wp:attachment":[{"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/media?parent=321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/categories?post=321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alavps.com\/blog\/wp-json\/wp\/v2\/tags?post=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}