|
Author
|
Topic: what resources do you monitor on web server (under load)?
|
peg Member
Posts: 9 Registered: Oct 2001
|
posted 11-14-2001 12:19 PM
First - let me apologize if this is an "old topic" - I've spent the last hour perusing the archives, and haven't seen the information I'm looking for.I am new member here, but have been doing stress testing on assorted platforms for a few (5) years now. I'm looking to "formalize" some standard for my team that stress tests our web applications. Currently for all tests we monitor (on IIS web server): * processor (% processor time) * memory (pool nonpaged bytes) * memory (% committed bytes in use) * active server pages (requests queued) * active server pages (request wait time) Can anyone think of any other counters that should always be logged? Thanks much ------------------

|
ScottLee Member
Posts: 17 Registered: Nov 2001
|
posted 11-14-2001 04:51 PM
I did some research and wrote a performance doc for my team. Regarding to your question, here is my list: Memory\Page/sec Memory\Available Bytes Memory\Committed Bytes Memory\Pool Nonpaged Bytes Processor\% Processor Time Processor\Interrupts/sec Processor\System Processor Queue Length Disk (Logical or Physical)\Queue Length Internet Information Services Global\Cache Hits % Web Service\Bytes Total/sec Active Server Pages/Request Wait Time Active Server Pages/Requests Queued Active Server Pages\Transactions/sec------------------

|
MelR Guru
  
Posts: 229 Registered: Feb 2001
|
posted 11-15-2001 06:48 AM
Scott,What a great list. Can you elaborate on any of these items? For example, is there any disk (logical or physical) queue length metric that would signal problems? Or must it be read in conjunction with other metrics? And the IIS Global cache hit % - bigger is better? Obviously I have much to learn about these resource metrics! ------------------ Mel_Rutt<at>sra.com

|
peg Member
Posts: 9 Registered: Oct 2001
|
posted 11-15-2001 08:55 AM
Scott, That is a great list. Thanks. I'd also be curious what you look for in interupts/second. Is there a rule of thumb for that one that you are aware of? TIA peg------------------

|
ScottLee Member
Posts: 17 Registered: Nov 2001
|
posted 11-15-2001 10:40 AM
MelR and peg: To answer both your questions: 1)disk(logical or pysical) queue length is ideally less than 2. 2) interupts/second epends on processor. Up to 1000 for 486/66 processors; 3500 for P90; more than 7000 for P200. Lower is better. You need get experience on your application for this number. ------------------

|
rstens Guru
   
Posts: 321 Registered: Aug 2000
|
posted 11-15-2001 02:31 PM
Also think about measuring from the client site our tool (Rational PerformanceStudio) provide these metrics that are quite useful.* Passed HTTP Connections Number of successful HTTP connections established by all reported http_request commands. * Failed HTTP Connections Number of HTTP connection attempts that failed to establish a connection for all reported http_request commands. * HTTP Sent Kbytes Kilobytes of data sent by reported http_request and commands. * HTTP Received Kbytes Kilobytes of data received by reported http_nrecv and http_recv commands. * Sent Kbytes/Connection Kilobytes of data sent by reported http_request and commands per connection. Derived by dividing the kilobytes of data sent by the number of successfully established HTTP connections. * Passed Connections/Min Number of successful HTTP connections established per minute. Derived by dividing the number of successful HTTP connections by the active time. * Avg Connect Setup Time Average time, in milliseconds, required to establish a successful HTTP connection. Derived by dividing the total connection time for all recorded http_request commands by the number of successful connections. * HTTP Sent Kbytes/Sec Kilobytes of data sent per second. Derived by dividing the kilobytes of data sent by all recorded http_request and commands by the active time. * HTTP Recv Kbytes/Sec Kilobytes of data received per second. Derived by dividing the kilobytes of data received by all recorded http_nrecv and http_recv commands by the active time. * Recv Kbytes/Connection Kilobytes of data received by reported http_nrecv and http_recv commands per connection. Derived by dividing the kilobytes of data received by the number of successfully established HTTP connections. AND we monitor IIS on (copied from our performance testing manual) HTTP service performance counters * Connections/sec Specifies the number of connections to the HTTP server per second. * Current ISAPI Extension Requests Specifies the current number of ISAPI requests being processed by the server. * Logon Requests Specifies the total number of logon attempts that have been made by the HTTP server. * Maximum Connection Specifies the maximum number of simultaneous connections to the HTTP server. * Not Found Errors Specifies the total number of requests that failed due to a missing document. Active Server Pages counters The ASP object provides excellent counters to do detailed monitoring of your ASP application. The following points are particularly important: * Errors-related counters These should be near zero in value. Any errors-related counters that are significantly larger than zero should be further investigated before proceeding with troubleshooting. * Errors During Script Runtime * Errors From ASP Preprocessor * Errors From Script Compilers * Errors/Sec * Requests executing This is very important because it tells you whether your application is forced to be single-threaded or not. The default worker threads for executing ASP requests in IIS 4.0 is 10 (ProcessorThreadMax in the registry). If the ASP Requests Executing counter returns a value of "1", then your requests are definitely being serialized for some reason. Make sure Web Application debugging is not on because this will serialize your requests. * Requests queued If this number keeps increasing continuously, your ASP pages have blocked all threads for some reason and no threads are being released to service additional requests from the queue. If the Requests Queued counter never increases and the processor(s) utilization is low, the site has more capacity than currently needed. If the Requests Queued counter moves up and down, and the processor(s) are running below 50 percent, this indicates that some requests are blocking, and therefore, an increase in the ASPProcessorThreadMax metabase entry may be in order. The Requests Queued counter grows uncontrollably along with CPU utilization. Check custom or third-party components. A component may have failed, and ASP is waiting for a response from the component. * The Requests Queued counter grows and CPU utilization increases to an unacceptable level. Check the connectivity to databases that ASP is calling. A slow network connection, a large query, or a slow back-end computer can cause blocking. * Requests/Sec * Requests Rejected Requests not honored, this does not necessarily mean an error, the system could have been too busy. * Sessions total This is the total number of sessions since the Web service was started. You may want to stop and restart the Web service before a test run to accurately monitor the total sessions being created for a specific test run. Make sure that while your script is running this number keeps gradually increasing until it reaches the desired total. And last but not least: Global IIS performance counters * Cache Flushes Specifies how often a cached memory region expired due to changes in IIS files or a directory tree. * Cache Hits % Specifies the hit ratio of all cache requests. * Cache Used Specifies the total number of bytes in use (file handles, IIS specific objects, and so on) in the cache. * Cached File Handles Total number of file handles contained within the cache.
------------------ Roland

|
Corey_G Advanced
 
Posts: 158 Registered: Sep 2001
|
posted 11-16-2001 12:30 PM
if your webserver is running on a unix platform, I measure:CPU usage Memory usage Swap/Paging File usage I/O Waits on solaris I get this all using vmstat and iostat. ------------------

|
finckdo Member
Posts: 8 Registered: Feb 2002
|
posted 02-08-2002 07:30 AM
Thank you for the lists!! I was curious, does anyone have any suggestions for things to monitor a DB server or are there too many dependencies? If there are too many dependencies, then is there a "list" of those dependencies that may help give me a starting point?Once again, thanks for the information. As you can see, I'm new to this site but I hope to contribute as much as I can as I increase my knowledge/experience. ------------------

|
Phil Hollows Advanced
 
Posts: 131 Registered: Jun 2000
|
posted 02-08-2002 05:53 PM
For a database you want to check metrics along the lines of:Memory and CPU used by the server / DB Cache metrics (hit rates should be high >80%) Concurrent locks (low) If you can nail a problem down to the DB aspect you should get a DBA to investigate potential causes: poor schema design, poor query design are more likely culprits, even though (cynically) I think most DBAs will want to write everything as stored procedures. FWIW Phil ------------------

|
punekar Advanced Guru
    
Posts: 588 Registered: Dec 2000
|
posted 02-09-2002 01:26 AM
There is this one book I enjoyed most on Perf Monitoring on Windows NT. Its Russ Blake's "The Zen of Performance Monitoring". Covers most of the counters and provides explanations too. You can find it on MSDN. The only problem is that it is a bit dated (NT 3.x ).

|
Govind Guru
  
Posts: 245 Registered: Jan 2001
|
posted 02-10-2002 08:15 PM
This is really a great topic. Thanks to all for their contribution. Punekar, Can you pl. let me know about the book you mentioned. Is it online? any links? Govind/Pune/India govind_b_kul@hotmail.com------------------

|
peg Member
Posts: 9 Registered: Oct 2001
|
posted 02-11-2002 12:14 PM
yeah - that book sounds great. if anyone has information on where to get it, or if a more up to date version (win2000) exists - let us know!! thanks------------------

|
AutoTestGuru Member

Posts: 70 Registered: May 2001
|
posted 02-11-2002 01:43 PM
One small point to mention here. Do not monitor too many counters at any one time. The more your monitor, the more resouces are taken by the processor thus putting it under load.

|
punekar Advanced Guru
    
Posts: 588 Registered: Dec 2000
|
posted 02-11-2002 11:25 PM
I tried to locate it on the MSDN site but couldnt. However I did find it on my local MSDN installation (July 2001). Look under Resource Kits/Windows NT 3.51 Resource Kit/Windows NT Resource Kit Volume 4: How to Optimize Windows NT/Zen and the Art of Performance Monitoring------------------ - Suresh ["Carpe diem, quam minimum credula postero!" -Horace]

|
allogene Advanced Guru
    
Posts: 921 Registered: Jun 2001
|
posted 02-12-2002 07:48 AM
It appears that I do not have this. Would it be possible for someone to post it or email it to me?------------------ Simple minds, Simple thoughts! Doug

|