[jboss-user] [JBoss Messaging] - Re: Performance issue for persistent manager of JBoss Messag
Our queue configuration is as follow : | | |jboss.messaging:service=ServerPeer |jboss.messaging:service=PostOffice |1342178 |1 |1 | |-1 |true | | | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4163762#4163762 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4163762 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Performance issue for persistent manager of JBoss Messag
We are now using JBM 1.4.0.SP3, and we just use a queue with one message producer and one message consumer, never use topic. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4163739#4163739 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4163739 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Performance issue for persistent manager of JBoss Messaging
I am very confused by the internal behavior of persistent manager of jboss messaging with ms sql server. I use event tracer of ms sql server to capture sql statements sent out from one jms message comes into jms queue to consumed by consumer. The following sql statements shows one jms message persistent can cause about twenty insert statement to be executed, which cause excessive disk I/O activity. Does anyone can help me explain why did it happen? And What's the solution to obtain higher performance? Best Regards. | SET IMPLICIT_TRANSACTIONS ON | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854870163456, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854886809601, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854899261442, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854900899843, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854907125764, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854909747205, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854918266886, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854922854407, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854933012488, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854943825929, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 2, 0, NULL, N'C', 39832854953984010, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | ex
[jboss-user] [Microcontainer] - MSSQL Persistent Manager issue
I am so confused on the sql trace when I open persistent mechanism for jms message with mssql server database. When one jms message is produced and consumed, the following sql statements has been captured. You can see, one jms message cause 25 times insert statement execution, and It already result in serious performance issue. Does anyone can help me explain what's the root cause and how to avoid it for better performance. | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874033217536, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874036756481, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874038394882, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874040360963, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874041344004, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874051829765, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874059694086, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874070835207, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874079682568, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874083614729, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, SCHED_DELIVERY) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8)', N'@P1 bigint ,@P2 bigint ,@P3 bigint ,@P4 nvarchar(4000) ,@P5 bigint ,@P6 bigint ,@P7 int ,@P8 bigint ', 13, 0, NULL, N'C', 39832874097049610, NULL, 0, 0 | go | IF @@TRANCOUNT > 0 ROLLBACK TRAN | go | exec sp_executesql N'INSERT INTO JBM_MSG_REF (CHANNEL_ID, MESSAGE_ID, TRANSACTION_ID, STATE, ORD, PAGE_ORD, DELIVERY_COUNT, S
[jboss-user] [JBoss Messaging] - Re: I got some performance problem while sending a lot of me
timfox, could you please give me a reply ? thanks. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159807#4159807 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159807 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: I got some performance problem while sending a lot of me
the duration parameter to ten minutes View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159507#4159507 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159507 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: I got some performance problem while sending a lot of me
Afterward we setted up another test, this time we setted the parameter to ten minutes, and we setted the FullSize parameter, PageSize parameter, DownCacheSize parameter of the queue to be tested to 3355444, 1, and 1, and the messages we sended in this test were all NON_PERSISTENT messages, so this time all the messages that sended to the queue were all stored in the memory. We also checked that the persistent database had never been writed or readed. In this test case we saw that messages send rate was very fast, almost equaled to it's target send rate, but the messages received by the consumer were so a little, almost equaled to 1/10 of the messages sended to the queue, so the mesages been buffered in the queue while receiving message were several hundred thousand or several million. And along with the send rate to be increased the buffered number was increased, so the time to complete the receving job increased too. And the most important point was that the receive rate was so poor, almost equaled to 1/10 of it's send rate per parallel test. Why the messages receive rate so poor? Does the queue must scan some of (or all) the message handles (or something like that) while a consumer receive a message because of the message selector mechanism ? Does the queue will copy all the message handles or synchronize all the message handles before it do this scan , so the message receiving time of one message receiving trip will increase along with the messages buffered in the queue increased ? Does message receive rate is computed like this : all messages received / message job spended time ? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159505#4159505 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159505 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: I got some performance problem while sending a lot of me
Yes, I got it, thanks fox. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159439#4159439 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159439 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: I got some performance problem while sending a lot of me
Another question : How can I turn off the persistent while sending and receiving messages ? That means all the messages sended to the queues are just store in memory. regardless PERSISTENT message or NON_PERSISTENT message. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159217#4159217 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159217 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: I got some performance problem while sending a lot of me
As you said, Database that persistent manager processes is bottleneck. Is there any method can improve performance of the traffic between jms queue and persistent db? Exactly, we tried to use batch mode for persistent manager. But I don't find any option to alternate the batch size. Finally, I want to know if the persistent action blocks jms queue receiving and writing? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4159215#4159215 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4159215 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - I got some performance problem while sending a lot of messag
Hi, I am now attempting to use JBM as a JMS Server on my application. I did a performance test on it using the JBossJMSNewPerformanceBenchmark framework, but the result was so difference from the performance result that we saw on the development wiki. My test environment and executors setup were as follow : 1. I was uesing two machines to achieve this test, one had a JBoss AS running on it (machine A), another was deployed a MySql database server (machine B), I was using it as the JBM persistence store. I deployed the PerformanceBenchmark framework JBM executor (the rmi-executor-scoped.sar file) as a MBean on JBoss AS (machine A). And I runned the control & report tool (using 'ant run') on machine B.And all the executor and JBoss AS configurations were using default parameters except the JVM option using for starting JBoss AS.I setted min and max VM memory to 1024m. The two machines were all using Sun JDK 1.5_15. 2. My first test config was as follow : |REMOTE |/queue/testQueue |/ConnectionFactory |AUTO_ACKNOWLEDGE |NON_PERSISTENT | org.jboss.jms.perf.framework.factories.MessageMessageFactory |100 | | |60 | | | | org.jnp.interfaces.NamingContextFactory | jnp://150.236.80.206:1099 | org.jboss.naming:org.jnp.interfaces | | | | | 255,0,0 | | | | | | | | | | | | /queue/simpleQueue | NON_PERSISTENT | 200 | 360 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test runned an hour per SEND JOB so I thought I could see the performance after JBM went to a steady status and the result was as follow : | | Execution 1 (provider JBossMessaging) | 0. DRAIN JOB drained 0 messages | 1. PARALLEL |SEND JOB sent 3360753 messages in 3601210 ms with a target rate 1000 messages/sec, real rate 933.23 messages/sec |RECEIVE JOB received 50753 messages in 367 ms with a target rate 0 messages/sec, real rate 14.1 messages/sec | 2. DRAIN JOB drained 2000 messages | 3. PARALLEL |SEND JOB sent 1550066 messages in 3601180 ms with a target rate 2000 messages/sec, real rate 430.43 messages/sec |RECEIVE JOB received 2276000 messages in 367 ms with a target rate 0 messages/sec, real rate 632.22 messages/sec | 4. DRAIN JOB drained 2000 messages | 5. PARALLEL |SEND JOB sent 1556184 messages in 3603317 ms with a target rate 3000 messages/sec, real rate 431.88 messages/sec |RECEIVE JOB received 2278000 messages in 361 ms with a target rate 0 messages/sec, real rate 632.78 messages/sec | 6. DRAIN JOB drained 2000 messages | 7. PARALLEL |SEND JOB sent 1732609 messages in 3601484 ms with a target rate 4000 messages/sec, real rate 481.08 messages/sec |RECEIVE JOB received 2026000 messages in 361 ms with a target rate 0 messages/sec, real rate 562.78 messages/sec | 8. DRAIN JOB drained 2000 messages | 9. PARALLEL |SEND JOB sent 1601025 messages in 3600575 ms with a target rate 5000 messages/sec, real rate 444.66 messages/sec |RECEIVE JOB received 224 messages in 3600010 ms with a target rate 0 messages/sec, real rate 622.22 messages/sec | 10. DRAIN JOB drained 2000 messages | 11. PARALLEL | SEND JOB sent 1593108 messages in 3601466 ms with a target rate 6000 messages/sec, real rate 442.35 messages/sec | RECEIVE JOB received 2282000 messages in 361 ms with a target rate 0 messages/sec, real rate 633.89 messages/sec | 12. DRAIN JOB drained 2000 messages | | So I think the performance under this case was so poor. And then I run a couple of testes using a config as follow : | 3 | and the others parameter were the same as above. But I got the results which send rate VS receive rate were so unsteady. for example some time I got a value as follow : | | SEND JOB sent 119970 messages in 30002 ms with a target rate 4000 messages/sec, real rate 3998.73 messages/sec | RECEIVE JOB received 322885 messages in 30014 ms with a target rate 0 messages/sec, real rate 10757.81 messages/sec | | and some time I got a value as follow : | | SEND JOB sent 119978 messages in 30004 ms with a
[jboss-user] [JBoss Messaging] - Re: Can JBoss Messaging uses direct method invocation while
en, I see, may be the client and the server have the same parent ClassLoader so they are in the same ClassLoader. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4157894#4157894 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4157894 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Can JBoss Messaging uses direct method invocation while
En, could you please tell me how JBM determine client and server are in the same VM ? You know, in a Servlet we use JNDI as follow : Context ctx = new InitialContext(); QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("java:/ConnectionFactory"); and we don't use the JNDI URL property. I had ever developed Application Server before, in our Application Server, we used the JNDI URL property to determine the JNDI lookup action is inside the server VM or outside, according to this we return a ConnectionFactory that it's created Connection used direct method invocation or used Socket. So I am very interesting in how JBM achieve the optimisation. Like the above I describe ? And you said the client and the server must in the same VM and loaded by the same ClassLoader, so JBM can do the optimisation, is that right ? And we know that the Servlet class and the JMS Server class are not loaded by the same ClassLoader. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4157867#4157867 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4157867 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Re: Can JBoss Messaging uses direct method invocation while
|-| | JVM| | | | |---||---| | | | Servlet 1 ||Servlet 2 | | | | || | | | | |---| || |---| | | | | | Sender| || | Receiver | | | | | | Client| || | Client| | | | | |---| || |---| | | | | | || /|\ | | | |---|---||---|---| | | || | | || | | |---||---| | | || | |\|/ | | ||---|| || || || || ||JMS Server || || || ||---|| | | |-| View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4157240#4157240 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4157240 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user
[jboss-user] [JBoss Messaging] - Can JBoss Messaging uses direct method invocation while send
I am now using JBoss Messaging as a JMS server in my application and I don't use any Cluster feature now and this application is deployed on JBoss AS 4.2.2.GA. In my application I use JMS API to send messages and receive messages in a Servlet, that means the JMS client and JMS server are in the same JVM, as shown below : |---| | JVM | | | | |---||---| | | | Servlet 1 ||Servlet 2 | | | | || | | | | |---| || |---| | | | | | Sender | || | Receiver | | | | | | Client | || | Client | | | | | |---| || |---| | | | | | || /|\ | | | |--|||-|-| | | | | | | | | | | |- | |---| | | | || |\|/ || ||---|| |||| |||| ||JMS Server| | |||| ||---|| | | | I know we can optimize the Send Cilent (or Receive Cilent) and JMS Server not to use Socket (TCP/IP) while sending (or receiving) messages in this case, for example JBoss MQ uses a JVM connection factory which JNDI name is java:/ConnectionFactory to make client JMS API uses direct method invocation while sending or receiving messages. Could you please tell me if there is any mechanism to achieve the optimize in this case ? And I know there is two connection factories which JNDI name are java:/ConnectionFactory and java:/XAConnectionFactory, are them play the same role as in JBoss MQ? We just use (look up) these connection factories and then we can send or receive messages using direct method invocation and we still using the JMS API in the application, is it right ? Or I can use another way ? Or the JBoss Messaging client will achieve the optimize automatic when it determine the JMS client and the JMS server is in the same JVM ? And how it determine ? I couldn't find my answer from the User Guide. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4157239#4157239 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4157239 ___ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user