Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

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...

share|improve this question

migrated from stackoverflow.com Jun 12 '11 at 4:24

This question came from our site for professional and enthusiast programmers.

4 Answers 4

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.

share|improve this answer

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.

share|improve this answer
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. –  Lèse majesté Apr 22 '12 at 5:34
    
Good to know :) –  Sherwin Flight Apr 22 '12 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. –  Fiasco Labs Apr 22 '12 at 16:14

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.

share|improve this answer
    
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 '11 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 '11 at 19:38

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.

share|improve this answer
    
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. –  Lèse majesté Apr 22 '12 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. –  Sherwin Flight Apr 22 '12 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 '12 at 18:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.