Wednesday, February 15, 2006

Webspher Saga

So recently(ummm been two months now), I have been asked to install/configure websphere application server on one of server over here in Bangalore.

Our app is kind of complex, because it talks to many other applications using JMS and dumps data on queues! Rest of it is pretty straight forward.

But - here is what happened

  1. We got Java VM hanging with thread core dump
  2. We got duplicate class error when there was duplicate class
  3. We could talk to MQSeries
  4. We got database problems

Here is what we did - we searched google, it helped alot, but crux of the whole issue is that you can not even think that there can be duplicate class error because of a bug in Websphere - and on top of that, you have to give permissions for queue manager even if you have security turned off.

Basically - we had to patch websphere + java again and again to resolve these issues.

I am frustated!

Tuesday, February 07, 2006

Load - in Linux / Unix

Yesterday I was working on one server. Server was very very slow, and when I looked at Top command I got load average of 0.0, 0.15, 0.27 which was not what I expected. Generally load average should be higher than this. But curiously I looked at man page of Top. But somehow "man page of top" did not give me proper answer to this Load Average number. Surprizingly uptime and w commands also give you same kind of output. So what are these load average numbers? And how kernel or any command computes these number?

I started searching about it and finally came across this article


Which clearly says something like this :

Those three little numbers tucked away innocently in certain UNIX commands are not so trivial after all. The first point is that load in this context refers to run-queue length (i.e., the sum of the number of processes waiting in the run-queue plus the number currently executing). Therefore, the number is absolute (not relative) and thus it can be unbounded; unlike utilization (AKA ``load'' in queueing theory parlence). Moreover, they have to be calculated in the kernel and therefore they must be calculated efficiently. Hence, the use of fixed-point arithmetic and that gives rise to those very strange looking constants in the kernel code.