I'm using JBOSS 4.2.3 GA on 32bit windows server 2003, jvm is 32bit, max JBOSS memory is 512mb.
I created two nodes, node1 for production warfile, node2 for test warfile.
before I created two nodes the system was responding quickly, after creation of nodes the performance/speed has reduced .
can anybody help me what might the problem. both the nodes are working but speed has reduced.
1) By "node" do you mean configuration? That is, did you make a copy of server/default as srver/node1 and server/node, and then did "run -s node1" and "run -s node2", something like that?
2) How much RAM is on that machine? I hope more than 2GB (Windows will eat 1GB, and your heap along will each another 1GB for both configurations (at 512MB each), and you still need room for the permgen, the thread stack, and other memory used by both JVMs), I would recommend 4GB.
3) When only one configuration is running, how much of the machines capacity is in use? Things like CPU in use, amount of available memory, network traffic etc. If running one configuration takes most of the machine, there will not be much left over for the second configuration.
@Peter Johnson thank U for ur feedback. Since i'm new into Jboss i like to here more about Jboss.
1. I copied "all" configuration, ranamed it to "node1" n "node2", I created batch file which looks like this:
cd C:\Program Files\jboss-4.2.3.GA\bin
run.bat -b 0.0.0.0 -c node1
also can U send me the link on information on list of arguments (e.g. -s , -b, -c)
2. I have 2GB RAM, 64-bit 3GHz processor , Windows-XP SP3. I see problem with RAM now.
3. when i'm running only node1 there is no performance issue.
That depends on you application.
JBoss itselve and a small application might possible with about 1GB memory for each node.
The number of CPU's or Cores depends on the expected throughput, if you have less cores for parallel work the performance will be worse.
For me a quad-core (8GB) is good enough to run multiple instances in a test environment.
For production I recommend to use such machine for a single instance because the influence between the instances might getting worse
The difference of default or all configuration is not big, it is only the difference of clustered or not.
Don't think about 32 or 64 bit. in your case a 32Bit JVM will fill your requirements. Only if you try to use more memory a 64VM can be helpful.
There is no difference for the application running on a 64bit processor, only that current CPUs are faster and multicore is better for throughput for application server like JBoss.
I would recommend to not mix test and productive environment on one system, I've seen so much accidents in such scenario.
As I said before I would use such small systems (2-8 core, up to 8GB) only for one production instance.
But it is on you to decide that, because if you have only a small throughput you might happy with two instances on the system.
Remember that it might happen that one instance eats the complete CPU power, for the memory I recommend to set -Xms and -Xmx to the same value to avoid trouble allocating memory at runtime.