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...
Webmasters Stack Exchange is a question and answer site for pro webmasters. It only takes a minute to sign up.Sign up to join this community
You may use JMeter from Apache to create test scripts and load-test your site.
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.
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.
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.
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.