[Users] Low Throughput
ticolucci
ticolucci at gmail.com
Wed Mar 16 11:06:00 CET 2011
Hi again
vzurczak wrote:
>
> From your stats, I see your machines have 1 GB of memory, or do I misread it? :?
> But it is not completely used, and the swap is a almost not used.
>
This gave me the insight i needed... =)
I was analyzing just the total memory... >_< Looking to the memory splitting in real RAM and swap, I discovered that petals was indeed using a lot the swap with big msgs. This explains the low throughput.
Also the CPU was on 100% (both cores) during the tests.
Those data are from the SO, becaus if I run Jmeter and Jconsole through SSH, the connection was getting too slow.
When I moved the environment to my own PC (MacBook Pro, i5, 4Gb), the results got a little better.
Jconsole gave this Summary:
Code:
VM Summary
Monday, January 24, 2011 11:31:47 AM BRST
Connection name: pid: 12888 server.jar start
Virtual Machine: Java HotSpot(TM) 64-Bit Server VM version 17.1-b03-307
Vendor: Apple Inc.
Name: 12888 at PokeDex.local
Uptime: 7 minutes
Process CPU time: 2 minutes
JIT compiler: HotSpot 64-Bit Server Compiler
Total compile time: 39.388 seconds
Live threads: 107
Peak: 144
Daemon threads: 39
Total threads started: 1,293
Current classes loaded: 17,450
Total classes loaded: 18,018
Total classes unloaded: 568
Current heap size: 222,786 kbytes
Maximum heap size: 932,096 kbytes
Committed memory: 417,024 kbytes
Pending finalization: 0 objects
Garbage collector: Name = 'PS MarkSweep', Collections = 3, Total time spent = 0.799 seconds
Garbage collector: Name = 'PS Scavenge', Collections = 43, Total time spent = 0.581 seconds
Operating System: Mac OS X 10.6.6
Architecture: x86_64
Number of processors: 4
Committed virtual memory: 4,118,216 kbytes
Total physical memory: 4,194,304 kbytes
Free physical memory: 25,556 kbytes
Total swap space: 524,288 kbytes
Free swap space: 387,024 kbytes
VM arguments: -Xserver -Xmx1024m -XX:MaxPermSize=256m
Class path: server.jar
The CPU Usage, according with JConsole, was around 60%, and the top usage of Heap Memory was around 400Mb.
But the SO gave 100% of CPU usage (all four cores) and 700Mb Ram usage for the server java process...
I'm not a true expert in Java nuances. So I don't really understand the difference between values.
About the throughput of this new test (in my machine):
With low frequency rate of messages, 1 msg/sec, the throughput was even => 1.2 msgs/sec
With medium rate, 5 msgs/sec, the result was again normal => 5.3 msgs/sec
With "high" rate, 20 msgs/sec/ the throughput was acceptable => 17.7 msgs/sec BUT with this rate the server started to give some Null Pointers... (5% of the msgs sent)
Finally I tried the real high rate, 100 msgs/sec, and the server once crashed, and the other try gave this => 48.3 msgs/sec BUT again with lots of Null Pointers (76% of the msgs sent) as below
Code:
Warning. EasyXML : TransformerFactory '' not found, the standard TransformerFactory will be used.
{http://localhost/NodeNode1}NodeOperation1
document
{http://localhost/NodeNode1}NodeOperation1
document
[Petals.Container.Components.petals-se-bpel]-SEVERE 2011-01-24 11:27:54,788 null
java.lang.NullPointerException
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processInOptionalOutAsProvider(MessageExchangeProcessor.java:568)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:391)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:233)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:177)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
[Petals.Container.Components.petals-se-bpel]-SEVERE 2011-01-24 11:27:54,803 null
java.lang.NullPointerException
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processInOptionalOutAsProvider(MessageExchangeProcessor.java:568)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:391)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:233)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:177)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
{http://localhost/LeafNode2}LeafOperation2
document
Warning. EasyXML : TransformerFactory '' not found, the standard TransformerFactory will be used.
[Petals.Container.Components.petals-se-bpel]-INFO 2011-01-24 11:27:54,855 the receiver gives the message to workflow engine
{http://localhost/LeafNode2}LeafOperation2
document
Warning. EasyXML : TransformerFactory '' not found, the standard TransformerFactory will be used.
{http://localhost/NodeNode1}NodeOperation1
document
[Petals.Container.Components.petals-se-bpel]-SEVERE 2011-01-24 11:27:54,903 null
java.lang.NullPointerException
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processInOptionalOutAsProvider(MessageExchangeProcessor.java:568)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.processAsProvider(MessageExchangeProcessor.java:391)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.process(MessageExchangeProcessor.java:233)
at org.ow2.petals.component.framework.process.MessageExchangeProcessor.run(MessageExchangeProcessor.java:177)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
I truly believe that the low throughput acquired before is due to the limits of the LAN, even though I expected a little more...
But I wanted to confirm if those NullPointers are "acceptable" (if the BPEL guys already know of such errors and stuff =)
For means of reproducibility of those NullPointers:
* I'm on a MacBook Pro i5 2.53GHz, 4GB of RAM;
* petals standalone with those sa's:
|- www.ime.usp.br/~colucci/sa-BPEL-LeafNode2-provide.zip
|- www.ime.usp.br/~colucci/sa-BPEL-NodeNode1-provide.zip
* JMeter test plan: www.ime.usp.br/~colucci/testPlan.jmx
Thanks for everything.
Thiago
-------------------- m2f --------------------
Subscribe/Unsubscribe emails notifications :
http://forum.petalslink.com/m2f_usercp.php
Response to this email will be posted on the Petals forum.
Please delete the existing text before responding :)
Read the topic online:
http://forum.petalslink.com/viewtopic.php?p=31697#31697
-------------------- m2f --------------------
More information about the Users
mailing list