Hello,
(Please see original message for more context).

Problem:
Need to improve throughput of PERSISTENT DURABLE publish/subscribe
combination
        on Windows 2000 platform, or ....

I would appreciate it if someone could verify my results,
and or tell me how I could improve throughput,
and or explain why such small throughput.

Results:
average throughput of 10-11 msgs/sec PERSISTENT DURABLE 1 publisher 1
subscriber 2 JVMS

Reply to Question:
>> I guess you are using 2.1 and not 1.2?
That is correct (2.1.2)

Observation:
Having windows explorer open to the 'persistent' directory to view the
in/out
of swiftmq messages into the directory while application is running
slows
performance.

Test:
I have attached a very simple test program JMS.java which displays the
throughput of
        publishing a stream of continuous PERSISTENT messages to a
        single TOPIC 'testtopic' with a
        single DURABLE subscriber (clientID='client'; name='durable') 

To run.
0. ensure that TOPIC 'testtopic' exists
0. ensure that there are no durable subscribers with clientID='client'
1. set classpath
2. compile JMS.java (scan code)
3. open 2 command windows
4. start 'java JMS -pub'
5. start 'java JMS -sub'
6. press enter in pub window
7. press enter in sub window
8. wait 2 minutes

This is not a perfect test but does show an approximate
        throughput of about 10-11 msgs/sec.

Example output follows

> java JMS -pub
JMS: context: javax.naming.InitialContext@5c7850
JMS: factory: [ConnectionFactoryImpl,
socketFactoryClass=com.swiftmq.net.PlainSo
cketFactory, hostname=192.168.10.80, port=4001, keepaliveInterval=60000]
JMS: connection: com.swiftmq.jms.TopicConnectionImpl@73831b
JMS: session: Thread[Thread-4,5,main]
JMS: topic: testtopic
JMS: pub: com.graviton.jms.Pub@64457d
press <<enter>> to continue

JMS: pub: fini
JMS: pub: count 1408
JMS: pub: rate 11 msgs/sec
JMS: stop
JMS: close
JMS: exit

> java JMS -sub
JMS: context: javax.naming.InitialContext@5c7850
JMS: factory: [ConnectionFactoryImpl,
socketFactoryClass=com.swiftmq.net.PlainSo
cketFactory, hostname=192.168.10.80, port=4001, keepaliveInterval=60000]
JMS: connection: com.swiftmq.jms.TopicConnectionImpl@2470b8
JMS: session: Thread[Thread-4,5,main]
JMS: topic: testtopic
JMS: sub: com.graviton.jms.Sub@3caecd
press <<enter>> to continue

JMS: sub: fini
JMS: sub: count 1373
JMS: sub: rate 11 msgs/sec
JMS: stop
JMS: close
JMS: exit

Thank,.
Jason
SE

-----Original Message-----
From: Andreas Mueller [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 11, 2001 1:19 AM
To: [EMAIL PROTECTED]
Subject: [developers] Performance of Durable Subscribers Seems Slow


I guess you are using 2.1 and not 1.2?

The problem probably is that you don't set a client id of your
subscriber 
and thus create a new durable on each start of your subscriber app. So 
you have <n> durables instead of 1. Check out the Explorer under 
TopicManager/Usage/Active Durable Subscriber how many durables you have.

-- 
Andreas Mueller, IIT GmbH, Bremen/Germany, http://www.iit.de
SwiftMQ - JMS Enterprise Messaging System, http://www.swiftmq.com


-----Original Message-----
From: "Jason Weinstein" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Date: Wed, 11 Jul 2001 00:35:19 +0200
Subject: [developers] Performance of Durable Subscribers Seems Slow

> Hello,
> I am busy benchmarking SWIFTMQ, (sonicmq, and forianomq)
>       on a Windows 2000 Professional Intel 866 mhz 256 RAM
>       swiftmq_1_2
>       default installation (blocking io, etc)
> 
> For the case of
>       2 jvms
>       Publish/Subscribe Flow-Control On
>       1 publisher (jvm 1):
>               thread continuously publishes a 1 kb PERSISTENT
> ByteMessage to topic
>       1 subscriber (jvm 2):
>               creates a durable subscription to topic and waits for
> onMessage callbacks
> 
> I am getting a throughtput through the system of about
>       10-11 msgs/sec (This is on the order of 50X slower than
> non-durable PERSISTENT subscriptions).
> 
> Question
> >> Are these similiar results to what others have seen given the
params
> described? Seem slow?
> 
> Observation
> The system seems to be especially busy with IO when using durable
> subscriptions. CPU utilization is never pegged.
> 
> Question
> >> Do my results seem correct?
> >> Does unix perform better? Non-blocking IO?
> >> Are there network configurations I can use to improve performance.
> (Network Swiftlet, etc)
> >> etc
> 
> Any help would be greatly appreciated. Benchmark code is available if
> needed. 
> 
> Thanks,
> Jason
> SE
> 
> ------------------------------------------------------
> SwiftMQ developers mailing list * http://www.swiftmq.com
> To unsubscribe from this list, send an eMail to 
> [EMAIL PROTECTED] and write in the body of your message:
> UNSUBSCRIBE developers <your-email-address>
> Archive: http://www.mail-archive.com/developers@mail.iit.de/
> 
> 
> 
> 


------------------------------------------------------
SwiftMQ developers mailing list * http://www.swiftmq.com
To unsubscribe from this list, send an eMail to 
[EMAIL PROTECTED] and write in the body of your message:
UNSUBSCRIBE developers <your-email-address>
Archive: http://www.mail-archive.com/developers@mail.iit.de/






------------------------------------------------------
SwiftMQ developers mailing list * http://www.swiftmq.com
To unsubscribe from this list, send an eMail to
[EMAIL PROTECTED] and write in the body of your message:
UNSUBSCRIBE developers <your-email-address>
Archive: http://www.mail-archive.com/developers@mail.iit.de/


JMS.java

Reply via email to