I've been tasked with nursing a single Windows 2003 SP2 server hosting an ecommerce website. A nation-wide promotion campaign is scheduled and my fear is that the poor machine will crumble under load. I'm trying to set up a simple monitoring solution, something that could allow me to monitor finely the load of the machine and plan the provisioning ahead of time. Being an UNIX guy, I need a few pointers on where to look.
It's a dual-proc Xeon E5503 (1.86 Ghz dual core) running a very poorly coded PHP website under IIS6. MySQL v5 is also running on the same host.
- Which monitoring solution would you recommend ? Is SNMP + Cacti the way to go for a single host ?
- What should I monitor specifically ? UC utilization ? RAM ? Is there a global system load the UNIX way under Windows ?
- What are the most probable bottlenecks (apart from the bandwidth) ?
Sorry for the broken English :)
Windows doesn't support SNMP very well. It has some OIDs but isn't complete. If you already have Cacti installed, you can go with it, but, if you are going to install something, I would recommend ZABBIX, because it has native support for PERFORMANCE MONITOR metering.
Windows servers have a tool called performance monitor (start > run > perfmon) that allows you to monitor almost everything inside the server.
I recommend you to monitor, at least, the basic ones: cpu consumption, memory (including swap), disk io, network. With performance monitor you will able including to monitor how much memory/cpu/io the PHP are requiring.
But, I'll not be able to post everything here (it's very large). So, take a look at this link. It has a complete material on how doing this kind of stuff. It's very complete. You'll just need time...
Optimizing IIS 6.0 Performance
And a tutorial about windows performance monitor: perfmon tutorial
And other material: Bottleneck-Detection Counters, performance monitoring, reference
If you must use SNMP for Windows, take a look at installing SNMP Informant. The free version makes up for most of the deficiencies of the SNMP agent provided by MicroSoft.