hi ,
This is not a straight forward task , but as a guidance what you can do is check the following :-
1. You need to check this over a period of time , and then determine if slow performance is at particular times of the day , or just particular days etcc... also it would be a good to obtain some information which you can use as bencmark test , ideally when the system may be for certain times of the day , running without any problem you can check this
1. run vmstat say every minute for 24 hours preferabbly longer
look at the cs parameter i.e. context switching , a high value here indicates that a thread is taken off a CPU and other one running on that CPU on a regular occurance this could e a thread has taken its full time allocated to run its task and then another one has started , or a thread is gone to sleep waiting for a resource or a lock ) value should be low
the other column r is the runnabe threads , the rule of thumb here is the r value divided by number of CPUS if greater than one , there could be a bottle neck
also us+sy ( add together) is 100% there may be CPU bottleneck
check these values as a starting point