Slow performance with Jabsimul?

Hi,

I’‘m trying to benchmark/stress test Wildfire before setting our users loose on the server. I’'m seeing weird stuff with Jabsimul:

00:20.43

Conn stat: conns: total: 50 estabilished: 50

kills: total: 0 unexpected: 0

Messages: tot.sent: 4506 tot.rcvd: 4150

rcvd.offline: 0 rcvd.admin: 0

rcvd.normal: 4150 fwd: 2216 avg.time: 525951

diff check: 356 stability: 2

Roster: tot.adds: 701 avg.time: 322042

tot.dels: 61 avg.time: 344175 glob_rost: 610

Presences: tot.sent: 1569 tot.rcvd: 6616

Packets: created: 8534 sent: 8522

canceled: 12 in queues: 0


Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

Kolejka za dluga, pakiet anulowany !

I am running Wildfire, Jabsimul and Postgres on the same box, with LDAP authentication to OpenLDAP on a separate host. I am simulating only 50 concurrent users (to start with). The “diff check” value looks suspicious (although is has been going down for the last 10 minutes, at one point it was about 50% of the “tot. sent” value), as do the "avg.time"s. Any ideas?

My hardware config is:

Dual 2GHz cores (I don’'t know exactly which CPU since the hardware team takes care of that and they are unavailable at the moment; I am getting this from /proc/cpuinfo)

1 Gb RAM

CentOS Linux with stock 2.6.9-42.0.3.ELsmp kernel

Stock Wildfire JRE

‘‘top’’ shows the java process is taking up 1077m virtual, 114m resident and 17m shared.

I’'ve set the following options in wildfire.vmoptions:

-server -Xmx768m -Xms256m -Xincgc

This is my jab_simul.xml file:

test_%(num2:u)-%(3num%12000/(1*3)+7:u)

Message was edited by: mcamou

One more datapoint, after 35 minutes running, the diff check is going back up:

00:35.01

Conn stat: conns: total: 50 estabilished: 50

kills: total: 0 unexpected: 0

Messages: tot.sent: 7508 tot.rcvd: 6820

rcvd.offline: 0 rcvd.admin: 0

rcvd.normal: 6820 fwd: 3551 avg.time: 14

diff check: 688 stability: 4

Roster: tot.adds: 1250 avg.time: 200

tot.dels: 102 avg.time: 207563 glob_rost: 610

Presences: tot.sent: 2683 tot.rcvd: 25065

Packets: created: 14043 sent: 14031

canceled: 12 in queues: 0

Hey mcamou,

I never used Jabsimul so hard to say how the client is counting or what it is doing. For instance, if the client closes its connection a few seconds after sending a bunch of messages to the server then it is possible that the server will take some time to deliver them and since the connection was closed (quickly) then the count will be wrong. AFAIK, no issues were reported regarding the lost of messages or traffic in general.

Having said that, do you see any error in the log files? or warning…

Regards,

– Gato

Hi,

No, Jabsimul opens a set number of connections and leaves them open (it tries to simulate “real” users, not just bombard the server with requests).

I left it running overnight with 400 simulated users (we need to go up to 800). Things look VERY bad, with almost 2/3 of the messages being lost.:

10:41.57

Conn stat: conns: total: 400 estabilished: 400

kills: total: 0 unexpected: 0

Messages: tot.sent: 43013 tot.rcvd: 15954

rcvd.offline: 0 rcvd.admin: 0

rcvd.normal: 15954 fwd: 8467 avg.time: 868

diff check: 27059 stability: 4

Roster: tot.adds: 5016 avg.time: 5414

tot.dels: 1969 avg.time: 20764 glob_rost: 1558

Presences: tot.sent: 1801 tot.rcvd: 16540

Packets: created: 59454 sent: 59417

canceled: 37 in queues: 0