Install Siege from Ubuntu’s repositories, verify it with siege --version, then run a controlled test such as siege -c10 -t60S -d1 "https://example.com/". This starts 10 concurrent simulated users for 60 seconds with a one-second pause between page requests. For several pages, put one URL per line in a file and add -f urls.txt. Record the concurrency, pacing, URL set, duration, client environment and cache condition with every result so later runs are genuinely comparable.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
What Siege measures
Siege is a multi-threaded HTTP/FTP load tester and benchmarking utility. It generates requests from an Ubuntu client and reports what that client observes while communicating with the target: elapsed time, transferred data, server response time, transaction rate, throughput, concurrency and successful responses.
As an Amazon Associate I earn from qualifying purchases.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Those figures describe one workload over one network path. They are not a universal capacity guarantee for the website. A result is useful when another person can reproduce the same URL set, concurrency, pacing, run window, client host, network path and server state.
Install and verify Siege on Ubuntu
Install the Ubuntu package
- Refresh the package index:
sudo apt update - Install Siege from Ubuntu’s repositories:
sudo apt install siege - Confirm that the executable is available:
siege --version
Use siege --help when you need a compact option list. On first use, Siege can create its per-user configuration directory and files. Command-line properties take precedence over values in those configuration files, so a command that explicitly supplies -c, -d or another option is the clearest way to document a test.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Check the target before generating load
Use a URL that you own or are explicitly authorized to test. Prefer the HTTPS form when the site supports it. Quote the URL on the command line whenever it contains query strings, shell metacharacters or other characters that your shell could interpret:
siege -g "https://example.com/"
The -g operation inspects a transaction and response headers. It is useful for confirming that the hostname, redirect behavior and response are what you expect before a longer run.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteUnderstand Siege’s workload controls
| Option | Meaning | Use it when |
|---|---|---|
-cN |
Run N concurrent simulated users. | You need to control simultaneous activity, for example -c10. |
-tTIME |
Run for a fixed duration. Examples include -t60S and -t2M. |
You want every comparison to cover the same time window. |
-rN |
Repeat the workload a fixed number of times. | You need a known number of iterations instead of a clock-based run. |
-ronce |
Make one pass through a URL file. | You want each listed URL visited once rather than running until a duration expires. |
-dN |
Insert an N-second delay between page requests. | You want paced activity that does not immediately start the next iteration. |
-b or --benchmark |
Run with no delay between iterations. | You are intentionally measuring a throughput-oriented, continuously issuing workload. |
-f FILE |
Read URLs and optional request definitions from a file. | You need a multi-page or mixed-method workload. |
-i or --internet |
Select entries from the URL file in random order. | You want traffic that does not always follow file order. |
Do not compare a delayed run with a benchmark-mode run as though they represented the same workload. A one-second delay changes how quickly each simulated user produces requests; -b removes that inter-iteration delay and can drive a much more aggressive request stream at the same concurrency.
Run a controlled single-URL benchmark
Start with a modest, repeatable test
Use a fixed concurrency, duration and delay for an initial baseline:
siege -c10 -t60S -d1 "https://example.com/"
-c10: ten concurrent simulated users.-t60S: a 60-second run window.-d1: a one-second pause between page requests.- The quoted URL: the HTTPS homepage used as the only target in this workload.
Begin with a modest concurrency and increase it in stages rather than jumping straight to an unbounded stress test. Observe the target and the client after each run. Stop or reduce the load if error responses, saturation or collateral impact appears.
Choose repetitions instead of a duration
A duration answers “what happens during this time window?” A repetition count answers “what happens after this many iterations?” For a fixed number of passes, use the repetition option, for example:
Recommended Free Tools
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
siege -c10 -r5 -d1 "https://example.com/"
The exact comparison must keep the repetition count, concurrency, delay and URL constant. When testing a URL file, -ronce is useful for a single pass through the listed entries.
Run an intentional no-delay benchmark
For a throughput-oriented run, remove the inter-iteration delay explicitly:
siege -b -c10 -t30S "https://example.com/"
This runs ten concurrent users for 30 seconds in benchmark mode. Because -b issues the next iteration without a delay, document that choice beside the result. It is not an equivalent replacement for the paced -d1 command.
Benchmark several pages with urls.txt
Create a URL file
Put one target per line in a plain-text file:
https://example.com/
https://example.com/pricing
https://example.com/docs
Run the file for a fixed two-minute window with ten concurrent users and a one-second delay:
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →siege -c10 -t2M -d1 -f urls.txt
With this form, the workload is defined by the file rather than by one command-line URL. Keep the file under version control or save a dated copy so a later benchmark uses exactly the same paths.
Use comments, variables and request data
The URL file supports comments, shell-style variables and method/data forms. A comment line can label a group of pages. A line can also describe a request such as:
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
# Public pages
https://example.com/
https://example.com/search POST q=ubuntu
The second line represents a POST request carrying q=ubuntu. Treat state-changing endpoints carefully: use test data, obtain authorization and confirm that the endpoint is safe to exercise repeatedly. A benchmark should not accidentally create orders, alter accounts or submit production records.
Choose sequential or random URL selection
Without the internet-order switch, the file’s normal selection behavior applies. Add -i or --internet when you want Siege to choose URLs from the file in random order:
siege -i -c10 -t2M -d1 -f urls.txt
Random selection can better represent visitors who do not all request the same page at the same moment. It also changes the workload, so keep the selection mode unchanged when comparing two server revisions.
Control what each request actually exercises
Inspect transaction details with -g
Run -g against a representative URL before a long test:
siege -g "https://example.com/"
Use the output to check the transaction and response headers. This quick inspection can reveal an unexpected redirect or a response that is not the page you intended to measure.
Add a request header
Use -H to add a request header when the application requires one or when you need to model a particular request context. Record the exact header value with the benchmark because changing headers can change routing, caching or authorization behavior.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Set the user agent
Use -A to set the user-agent string. Keep it consistent across comparison runs unless the purpose of the test is to compare user-agent-specific behavior.
Decide how redirects and page elements are handled
--no-followdisables redirect following. Use it when you want to measure the first response rather than the destination transaction.--no-parserprevents Siege from fetching page elements discovered in HTML. Use it when you want a document-only request instead of a workload that follows parsed elements.
Two commands that use the same URL can therefore exercise different request sets. A run with redirect following and parsed page elements is not directly comparable with one that disables either behavior.
Read the Siege report
After a run, Siege reports several dimensions of the observed workload:
| Reported value | What it tells you | How to use it |
|---|---|---|
| Elapsed time | How long the run took. | Check that a duration-based comparison covered the intended window. |
| Total data transferred | Bytes returned during the run. | Detect a workload that moved substantially more or less content. |
| Server response time | The observed response-time measure for transactions. | Compare latency under the same request mix and pacing. |
| Transaction rate | Transactions completed per unit of time. | Assess how much work the target completed during the run. |
| Throughput | Data delivered per unit of time. | Interpret alongside transferred bytes and response time, not alone. |
| Concurrency | The concurrent activity observed by Siege. | Confirm that the intended load level was actually exercised. |
| Successful responses | How many responses completed successfully. | Check outcome quality before treating a high transaction rate as useful. |
A high transaction rate with elevated failures is not a healthy capacity result. Examine successful responses together with response time, throughput and transferred bytes. Also note whether redirects, parsed elements, headers or POST data were enabled; those settings determine what a “transaction” represents in your run.
Free tools Windows power users keep installed
One-click scans. No signup required.
Build a fair comparison between website versions
Keep the workload constant
For an A/B comparison, hold these variables constant:
- Concurrent users supplied with
-c. - Delay supplied with
-d, or benchmark mode supplied with-b. - Duration supplied with
-t, or repetition count supplied with-r. - The exact single URL or the exact contents and ordering policy of
urls.txt. - Client host, network path and relevant request headers or user-agent settings.
- Redirect and parser behavior, including whether
--no-followor--no-parseris present.
Label cache state
Warm-cache and cold-cache tests answer different questions. A warm-cache run examines behavior after content or application data has already been requested; a cold-cache run examines behavior without that prior state. Choose the condition deliberately, record it in the result, and do not mix the two conditions in one trend line.
Best Value
Increase load in stages
- Establish a low-concurrency baseline with a fixed duration and delay.
- Repeat the same command to check that the baseline is reasonably stable.
- Increase
-cin controlled steps while keeping every other setting unchanged. - Watch for rising response times, falling successful responses, elevated 4xx or 5xx responses, resource saturation or impact on other users.
- Stop at the first level that exceeds your safety or service objective, then document that threshold and the conditions that produced it.
This staged approach separates a normal operating baseline from a saturation point and reduces the chance that one sudden, uncontrolled run harms the service.
Safety and authorization
Benchmark only systems you own or are authorized to test. Even a modest concurrency can create meaningful traffic when the URL causes database work, cache misses or downstream requests. Coordinate with the service owner, choose a maintenance or test window when appropriate, and make sure someone can stop the test.
- Start with low concurrency and increase gradually.
- Prefer non-destructive endpoints and test records for POST requests.
- Monitor elevated 4xx and 5xx responses, saturation and collateral impact.
- Keep the client’s CPU, memory and network capacity in view; a constrained client can distort the result.
- Save the command, URL file, date, duration, concurrency, pacing and cache condition with the report.
Siege’s output is an observation from the client-to-target path. It cannot by itself prove the maximum capacity of every server, region, network or future workload.
Troubleshoot misleading or unexpected results
The result is much faster than expected
- Confirm that the URL is the intended HTTPS endpoint and inspect it with
-g. - Check whether redirects were followed or disabled.
- Check whether parsed page elements were fetched or suppressed with
--no-parser. - Verify that the run did not use
-bwhen you intended a paced test, or omit-dwhen you intended a delay.
The result is not comparable with an earlier run
Compare the complete command lines, not just the URL. A changed -c, -t, -r, -d, -b, -f or -i value changes the workload. Also compare URL-file contents, headers, user agent, redirect/parser switches, client host, network path and cache condition.
Errors rise as concurrency increases
Reduce the concurrency and repeat the test to distinguish a target limit from a transient problem. Record whether failures are 4xx or 5xx responses, whether response times rise sharply and whether the client or network is saturated. Do not keep increasing load after collateral impact begins.
The URL-file run does not represent the intended pages
Open urls.txt and verify one URL per line, comments, variables and any method/data syntax. Confirm whether random selection with -i is wanted. A file containing a POST line is a different workload from a file containing only public GET pages.
Reusable command patterns
| Purpose | Command | Important qualification |
|---|---|---|
| Baseline, one page | siege -c10 -t60S -d1 "https://example.com/" |
Ten users, 60 seconds, one-second pacing. |
| Throughput-oriented run | siege -b -c10 -t30S "https://example.com/" |
No inter-iteration delay; do not compare directly with a delayed run. |
| Several pages | siege -c10 -t2M -d1 -f urls.txt |
Uses the URL file’s request mix for two minutes. |
| Random page selection | siege -i -c10 -t2M -d1 -f urls.txt |
URL entries are selected in random order. |
| Transaction inspection | siege -g "https://example.com/" |
Inspect before a longer load run. |
| One pass through a file | siege -ronce -f urls.txt |
Uses the one-pass repetition form; add other controls when you need a defined concurrency or delay. |
A practical reporting template
When you publish or archive a Siege result, include enough context for another operator to reproduce it:
- Ubuntu host and Siege version.
- Date and time, including the test window.
- Target hostname and whether HTTPS was used.
- Exact command line and a checksum or saved copy of
urls.txt, if applicable. - Concurrency, duration or repetitions, delay or benchmark mode, URL-selection mode and request options.
- Whether redirects and parsed page elements were followed.
- Client location, network path and cache condition.
- Elapsed time, transferred bytes, response time, transaction rate, throughput, concurrency and successful responses.
- Observed 4xx/5xx responses, saturation or other impact.
This record turns a one-off load exercise into a repeatable measurement. It also prevents a later reader from mistaking a no-delay throughput run, a warm-cache page test or a random multi-page workload for a different experiment.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




