TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

http_load - test your server for heavy load

12 pointsby mcxxover 17 years ago

5 comments

ericbover 17 years ago
This tool only does throughput tests, which are only good for very limited purposes. I am creating a load testing tool at the moment, and I did load test consulting for a number of years. Generally we would start with a throughput test to establish a ceiling on the pipe's fatness and the webserver's max throughput. That's really just step 1, though. After that is the more important stuff.<p>In a web application, most bottlenecks are at the database and appserver layers as opposed to the webserver. A good load test needs to be fully transactional so you can simulate login/logout, shopping, searching, or whatever real users of your application do. A good load test also needs error detection (content-checking). Without content checking, I've seen demos where a "testing tool" ran, someone unplugged the DB machine, and everything still came up green. From an end-user perspective, a real user would have seen the "data grid" section of the webpage replaced with an error message and the web app was unusable, but the testing tool was happily chugging along, showing green.
jwsover 17 years ago
Be careful with this. I tried three different urls:<p><pre><code> close static file: 750 fetches/sec, openload shows 800. php output: big stream of errors about byte count wrong other php site: 37 fetches/sec, openload does 135. </code></pre> I'm not sure which is right, but the 37 vs. 135 could easily lead you astray. This run is 10-13% cpu load on the local machine so it is likely not a saturation problem.<p>Not that I'm recommending openload, it could use some help, but it is useful to compare.
s3grahamover 17 years ago
Why not 'ab' which you probably have installed already?
评论 #103827 未加载
PStamatiouover 17 years ago
I've used this in the past. Just note that it only works well if you test it from one colo'd box to your server. Testing locally on your own internet connection doesn't do much - you need a fat pipe.<p>However this is just HTTP load.. if you have JS running and making database calls after page load I don't think this will help your testing methods.
delanoover 17 years ago
http_load does not replicate heavy load; it replicates a DOS attack.<p>It generates N requests every second without waiting for the previous N requests to complete. Actually, it never waits for requests to complete. It kills them so the http server has no where to send data. With Tomcat, this causes hella errors in the logs. It's just not an accurate stress test.<p>ab is okay but I found it was more difficult to ramp it up to really stress the server. I prefer siege (<a href="http://www.joedog.org/JoeDog/Siege" rel="nofollow">http://www.joedog.org/JoeDog/Siege</a>) because it performed well, produced useful output (ab's output is pretty good too), and was convenient.<p>We used these three to test a new app stack for yellowpages.ca a couple years ago. siege became the standard in the end. We also tried JMeter which performed pretty well but the GUI/XML configuration was inconvenient (it's a complicated development environment).