MONITOR SERVER LOAD ??
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 7 of 7

Thread: MONITOR SERVER LOAD ??

  1. #1
    Join Date
    Sep 2000
    Location
    Chennai, India
    Posts
    865

    Exclamation

    Hi

    We have 3 instances running on a E450 Sparc box(OS Solaris 8). We need to monitor and make a report of the load on this server. Any suggestions ?

    I'm looking at sar, iostat & mpstat.

    Any other utilities..pointers ... to monitor the server load ?

    Thanks & Regards.


  2. #2
    I also have a similar question.
    How to measure the load on the database and the load on the Unix Server.
    For unix server, currently i used vmstat to check the cpu used in user/sys/idle mode and iostat to see the cpu spent on iowait.

    But how can i know the unix has reached its capacity? From Oracle client that has slow response time, or from vmstat/top, i see low cpu idle/much iowait? how to define this level?

    Some friend said, use uptime and look at load value, someone use vmstat and look at the first three columns, someone use top and get the similar value.
    For example, a machine with 4 cpu, on load value means that the server has reached its capacity?

    About the database, how to measure how much work does oracle do? redo per second? transactoin per second? buffer gets per second? or something else , or more complicated rule?
    Can your share your opinions?
    www.cnoug.org

  3. #3
    Join Date
    Nov 2000
    Location
    greenwich.ct.us
    Posts
    9,092
    Oracle will work as hard as the hardware can run it.

    I use several tools to monitor the performance of my servers:
    iostat: a great tool to measure I/O performance.
    vmstat: a great tool to measure run queue, cpu idle, and paging.
    netstat: Shows how the network interfaces are performing.

    In http://www.amazon.com/exec/obidos/AS...385023-9179820 the author goes through several examples of how to automate vmstat and iostat collection. I used his examples and wrote my own tools to monitor these statistics over several servers.

    How much work the server does depends on what your measure for success is. If you are a brokerage, your measure might be trades/sec. If you are a telecom company, your measure might be calls/sec.
    Jeff Hunter
    marist89@yahoo.com
    http://marist89.blogspot.com/
    Get Firefox!
    "I pledge to stop eating sharks fin soup and will not do so under any circumstances."

  4. #4
    Originally posted by marist89
    Oracle will work as hard as the hardware can run it.

    I use several tools to monitor the performance of my servers:
    iostat: a great tool to measure I/O performance.
    vmstat: a great tool to measure run queue, cpu idle, and paging.
    netstat: Shows how the network interfaces are performing.

    In http://www.amazon.com/exec/obidos/AS...385023-9179820 the author goes through several examples of how to automate vmstat and iostat collection. I used his examples and wrote my own tools to monitor these statistics over several servers.

    How much work the server does depends on what your measure for success is. If you are a brokerage, your measure might be trades/sec. If you are a telecom company, your measure might be calls/sec.
    hi, jeff:
    I also ever used iostat and cron+shell to log the server performance history for capacity planning, but i found a serious problem.As you know , we log the data in os logfile and later use sqlplus/awk to put them into database, but they are all literal SQLs, in my server, after 1 month's cron to record the data, i was suprised to found that there is over 40k different sqls in my shared pool(yes, my shared pool is bigger than needed, and the literal sql never ages out), and most of them are the sqls that the cron generate.So i have to stop that cron job.
    You did not talk about how to define the load, the capacity of the server.For example, my server has four cpu, and the load is 2.6-3.2 during normal workload, is it acceptable? How much more workload can it afford?
    Thanks for your advice.
    www.cnoug.org

  5. #5
    Join Date
    Nov 2000
    Location
    greenwich.ct.us
    Posts
    9,092
    Originally posted by chao_ping
    I also ever used iostat and cron+shell to log the server performance history for capacity planning, but i found a serious problem.As you know , we log the data in os logfile and later use sqlplus/awk to put them into database, but they are all literal SQLs, in my server, after 1 month's cron to record the data, i was suprised to found that there is over 40k different sqls in my shared pool(yes, my shared pool is bigger than needed, and the literal sql never ages out), and most of them are the sqls that the cron generate.So i have to stop that cron job.

    Well, you're not using bind variables then. I monitor real-time and it presents no extra load on the server. I use perl which has better database connectivity than ksh+awk.


    You did not talk about how to define the load, the capacity of the server.For example, my server has four cpu, and the load is 2.6-3.2 during normal workload, is it acceptable? How much more workload can it afford?
    The server load, or run queue wait, is relative. If your run queue is between 2 and 3 most of the time and you are still making your performance metrics, 2 or 3 is not high. If you are not meeting your performance metrics, it might be too high or you have another bottleneck.

    My 4 CPU Sun 420R's typically have a run queue of 1-16. I know when my run queue goes over 8, I'm not going to be able to meet the business demands.

    Some people think that a run queue of > 1 means that you need more CPU. Personally, I don't subscribe to that theory.

    So, you see, it depends. If your disks are pretty idle and your run queue is 3, you probably have some misbehaving queries. If your run queue is 3 and your disks are 50-60% busy, you've got a pretty well tuned system. If your run queue is 3 and one of your filesystems is 100% busy, the CPU is waiting on I/O.
    Jeff Hunter
    marist89@yahoo.com
    http://marist89.blogspot.com/
    Get Firefox!
    "I pledge to stop eating sharks fin soup and will not do so under any circumstances."

  6. #6
    hi, jeff:
    Thanks for your answering my question.
    I think the load on database and the load on the unix server is something different. Yes, all load on the database is actually on the unix box. But i also want to know how much the database is working..., like logcial read/second, redo per second. etc. So i post another thread:
    http://www.dbasupport.com/forums/sho...hreadid=28094.
    Using database load helps me find out which kind of load is increasing , while using unix server load monitor, i can know the overview of the wholesystem.
    www.cnoug.org

  7. #7
    Originally posted by marist89

    Well, you're not using bind variables then. I monitor real-time and it presents no extra load on the server. I use perl which has better database connectivity than ksh+awk.


    hi, jeff:
    I am not familier with perl, so can you share your script to me? Thanks
    www.cnoug.org

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width