The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Web services, server load and session handling

With a new web service I've been working on, that is written in PHP / MySQL, I would really like to know how many concurrent sessions I can handle at a time, actively running queries and serving up web pages.  Is there a tool that can run a macro and simulate a couple hundred people on the site at one time?

Single processor P4
2GB Ram

Second question, I need to be able to detect if a session is still active and do a logout of that user if they have left the web page without logging out - because I would like to perform a few database queries if they aren't there anymore.  Anyone have experience with this?
Ben Mc Send private email
Thursday, June 22, 2006
How about the Microsoft Web Application Stress Tool
dood mcdoogle
Thursday, June 22, 2006
Does it work with sites on Linux using PHP/MySQL?
Ben Mc Send private email
Thursday, June 22, 2006
I have had great success with JMeter (from Apache).

Caffeinated Send private email
Thursday, June 22, 2006
OpenSTA ( is one I've used in the past to good effect. You can record interactions with your web app as a script, which you can then edit and add variables for different usernames, data, etc. and get all the output graphically as well as exported to Excel.
Darren Hague Send private email
Friday, June 23, 2006
In regard of your second question, you can't really know if a session is still active (the boons of stateless protocol).

One way to do what you want is to have something like a "latest access" timestamp both in a cookie and somewhere on the site, perhaps in the user DB. Each time a user accesses that a page, that timestamp is updated. Then, you have a cron job which periadically checks if one of these dates is before a certain timeout you determined; for each that is you just reset the timestamp (i.e. kill the session) and run your queries.
Berislav Lopac Send private email
Saturday, June 24, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz