|
|
Question : High CPU Utilization in Sybase
|
|
Hello,
I have a Unix server with Sybase Server running on it . It has 4 cpu and it is running at full capacity .
How woould I find out ,what is hogging up up the system resources ..
And would like to trouble shoot too....
thanks ,Vin
|
Answer : High CPU Utilization in Sybase
|
|
How big is the index_map database? Currently the entire database is bound to the named cache index_map_cache which has been given 75% of all (data) cache memory. Are there any other user databases in use in this server?
I am not a big fan of binding entire databases unless you have plenty of memory - and you don't. However we're getting a bit far afield here as we're moving away from your original question which was how to figure out what is eating CPU on the host. I think at this point we've probably answered that question - a lot of areas within ASE that aren't tuned optimally, so ASE is spending more time than it needs to on mostly network and a bit on disk.
Remember that we saw over half of the context switches reported by sp_sysmon were for network send? That means half of the time ASE stopped being able to do useful work it was because you're constantly sending results to the clients using network packets that are too small (based on average bytes per packet sent being almost equal to the packet size). This network handling is going to cause a certain amount of CPU work on the host as well.
Probably overall the best solution here is to increase the network packet size in your client application, and configure the server to support this. There's no point increasing the network parameters in ASE (except for tcp nodelay) unless you can make this change in your application, since they must also be matched by client settings to have any effect.
We can continue exploring general performance & tuning such as data cache areas in a separate question but I think we've answered this one now... Ditto re. error 1205...
Good luck!
|
|
|
|
|