Dummy's guide to measuring D6 site performance?
My D6 site is running smoothly, but I feel like it's a little sluggish. I know there are a billion different things I could do to improve performance (many are mentioned here: http://drupal.org/node/2601 ) but I feel like I need a good low-tech tool to actually measure performance before I start experimenting.
My site, by the way, usually only has one or two logged in users, and 10 - 20 guests. It's running on a very low-powered Ubuntu server, but it's a dedicated server, and we have a very nice internet connection. Performance isn't terrible, it's just not as snappy as I'd like.
For instance, would it work ok to have a little script running on a computer that does a set of wgets ( http://www.gnu.org/software/wget/ ) on 20 or 30 pages of my site, and gives me a total time? I bet I'd have to find some way to disable caching on the receiving end. Is there some already put-together software that would run on Win or Mac that would do some good D6 performance testing without needing a lot of configuring etc? I just feel like if I'm going to be tweaking my site I want some objective way to measure whether the tweaks make a real difference or not.
Thanks!

For simple performance
For simple performance monitoring you could use http://drupal.org/project/performance which is part of http://drupal.org/project/devel.
BobbyMods
Thanks for the tip. I had
Thanks for the tip. I had taken a quick peek at the Devel module on the projects page, but it looked pretty complex and there doesn't seem to be any documentation for it listed. (Maybe it's self-explanatory?) If you're familiar with the performance monitoring part of Devel, I've got a follow-up question, I guess.
In terms of tuning both Drupal (such as caches and stuff) as well as tuning the linux server itself (fooling around with memory allocations, php and mysql settings, disk partitions, etc.), will the numbers that Devel gives to me be truly reflective of what actual web clients would see? In other words, are there real life situations where Devel thinks it takes a half-second to serve the page up, but for a real-life user it really takes a whole second? Actually, even that would be ok, as long as it's consistent. I just wouldn't to spend a lot of time fiddling with settings, checking the Devel numbers to see if the tweaks are helping are hurting, if the Devel numbers aren't really showing what the user at the end of the pipe sees.
It definitely looks like Devel would be useful in terms of finding what within the Drupal system could stand some optimizing - but I really want to measure what the users see, not what a Drupal module "thinks" Drupal is doing - unless those two concepts really do correspond in real life.
I just got an email that I'm
I just got an email that I'm using "a huge amount of MySQL resources which has contributed to the recent outages and downtime on the server."
Would the Devel module help me narrow down the issues? According to phpMyAdmin I'm doing almost 8000 queries a minute which for my essentially read only site seems unbelievable.
The modules I have on are:
Adsense Core
Managed Ads
Color
Comment
Database logging
Help
Menu
Path
Ping
Poll
Search
Statistics
Taxonomy
Update Status
Upload
Advanced Help
Custom Breadcrumbs
Custom Pagers
Lightbox2
Path Redirect
Path Auto
Scheduler
Token
Token Actions
Views
Views exporter
Views UI
Geez... that seems like a lot when I list them out.
Thanks for the help in advance.
No
No, but they will help you tune the Drupal/PHP/MySQL. performance.
End-user experience can vary widely depending on the layout requirements placed on the browser by the theme you're using, DNS lookups, any external scripts (especially but not limited to ad servers), network issues, browser cache settings and many other influences beyond your control.
The Yahoo YSlow component of Firebug is a good way to measure your end-user experience as you tune your site.
I have seen 17-second Yslow reports on a website that spits out Drupal pages in 0.18 second according to wget.
Biggest easy performance enhancers are:
Boost module (flat pages for anonymous users)
APC (huge PHP performance improvement)
Basic MySQL tuning. Default settings suck.
CSS aggregation/compression.
Interesting! I just checked
Interesting! I just checked out Yslow and it looks a little complex for me - I don't know/use Firebug. But I think you brought up a great point - wget on a client machine won't give me true numbers, if it doesn't react to stuff like advertising or javascript. (Actually my site doesn't have any advertising, but it does have javascript including Google Analytics on every page.) So if I'm going to script something on a client computer I'll need to make sure I'm either using a real web browser, or at least really emulating one. Maybe there's a script available for Firefox that will let me read 20 pre-specified pages sequentially and keep track of the time spent?
I don't know if you'll find
I don't know if you'll find anything simpler, there is an explanation page in the handbook (or was it the module makers website?) that is linked from the bottom of the module page.
Everything that measures will influence the measurement one way or another, so what you are looking at is relative measurements, you can not see exactly what the user sees, because there are user bound dependencies that influence the performance at his end.
@hansamurai;
If you have a mostly static site, boost will work wonders.
If your site is only dynamic for you and static for ALL visitors, you could migrate your site to your pc or a subdomain, edit it there, use http://www.httrack.com/ to create a html mirror of the site and put that on the server, that means you will ALWAYS be serving html. Just make sure all your internal linking is relative.
Use with caution.
BobbyMods
What's the difference between
What's the difference between the Boost module and Drupal's built in page-caching? I'm guessing Boost stores an html page somewhere and the caching still requires Mysql?
I also put my site into maintenance mode for a few minutes and the queries just kept going up at a rapid pace, still at around 8000 a minute. I have absolutely no idea what could be doing this.
YES
No caching and generating a page requires about 50 connections to the DB
Caching and about 2 connections.
Boost, no connection, as the page is saved on the disk and shipped directly to the user.