3

i have my website on a shared webhosting account.

I would like to check how many people can visit my site at the same time without the server slowing down or crashing. I don't have SSH, if that makes any difference...

0

4 Answers 4

5

You may use JMeter from Apache to create test scripts and load-test your site.

http://jakarta.apache.org/jmeter/

A JMeter script can simulate a typical end-user by opening the front page first, waiting for some seconds, opening a new page etc.

JMeter may run several scripts to simulate many end-users and will constantly report reponse times, success rate etc.

Remember that your own internet connection may also be a bottleneck when load testing.

5

I know I'm bringing a question back from the dead, but what the poster is looking for is called "load testing" and it is hard to do this yourself. There are sites that can handle this for you, some with tests that can be run for free.

One such site is http://loadimpact.com/, it simulates users on your site and slowly increases the number of simulated users on your site as the test runs. It does offer a free test as well, and shows you the load time for your files as the number of users increases.

Trying to run this kind of test from your home computer is not the best solution, as it is hard for you to increase the number of requests being sent to that of a bunch of users visiting at the same time. Also, most home internet connections have much slower speeds and bandwidth limits than a hosting account does. So your own home internet connection will reach its limit long before the server you are trying to test, which would cause inaccurate results. Using a site like I listed above may be a better solution, because your site is tested from various locations around the world, and they have the ability to properly simulate a high number of users.

3
  • 5
    There's no "back from the dead" on StackExchange. This isn't like a messageboard where reviving old threads is discouraged. Age is irrelevant. Either a question is worth being answered or it doesn't belong on the site. If it belongs here, then a better answer is always welcomed. In fact, many questions would benefit from an updated answer from time to time. Apr 22, 2012 at 5:34
  • Good to know :) Apr 22, 2012 at 7:07
  • 1
    As times change, computer knowledge changes. It is one of the strengths of Stack Exchange that newer experience gets posted so you don't chase your tail on rediscovering the ancestor of the wheel now that the wheel's no longer made with wooden spokes. Apr 22, 2012 at 16:14
4

Visiting at the same time is a "relative" concept.

The server feeds the user a page and then the user will see it for an undetermined amount of time. If the user requests a second page you can assume that the user has been on the first page for that duration (even though it's only an assumption).

You could write all that down to a database and extract data from the DB but, as things go, just install Google Analytics that will not slow down your site and should meet your requirements.

2
  • Thanks. Let me be more specific, i would like to test somehow how many people could visit my site at the same time so that i know if my hosting provider has the capacity or if i need to change to maybe a dedicated server with better bandwidth, CPU, ram etc. I know its hard to calculate and its relative but maybe there is some tool or website that could simulate a test.
    – Stephan
    Jun 11, 2011 at 19:28
  • 1
    Ah! If you have permission from your webhost (and some hosts do take this really seriously) do some stress tests with Apache ab. Most linux installations have it and it's trivial to use. httpd.apache.org/docs/2.0/programs/ab.html
    – Frankie
    Jun 11, 2011 at 19:38
3

If you are a Linux user you can use ab (Apache benchmark) or siege from your own home PC or from some other remote location. You should increase number of connections (start with 10 paralel users ) as long as req/s (requests per second) are going up. If you get 100 req/s that means that you hosting can serve 100 people at one second, but please keep in mind that js,css and image files are not tested but would be served for real users as additional requests per second. Testing everything together can be done too easily with siege (create a list of URLs for siege to run against) but not with ab (ab can work only on one url at one time).

You can also try httperf.

3
  • No reason to do it from a remote location unless you're testing the bandwidth availability rather than server capacity as the questioner seemed to be interested in. Apr 22, 2012 at 5:32
  • I think bandwidth availability may be an important aspect of testing the number of users your site can handle. Without knowing if the server could support both the number of users, and the increased data load, it's hard to know "how many people can visit my site at the same time without the server slowing down or crashing". Testing from a remote location, which can properly simulate the load, is really the only way to figure this out. Apr 22, 2012 at 16:46
  • Remote locations are often neccessary since VPS with 100Mbit or 1 gbit connections can be found cheap while you can be limited from home/office by slow link (I'm from Croatia where having more then 20/1 Mbit link is rare)
    – Miro
    Apr 22, 2012 at 18:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.