wcf -- msmq based application gives poor performance on windows 2003

hi

we are facing performance issue while using MSMQ in windows 2003

it is WCF application

Both the client and server applications reside on the same machine.

The client pushes a collection of 100 custom objects to the private queue from where

the server application takes up the messages and

just pushes the messages to the database where few simple calculations are done dependng upon the data received.

while running on windows XP machine we are getting a performance of 500 records per second i.e. our application is able to consume 5 messages with 100 records each

where as in Windows 2003 the same application is giving a performance of only 50 records per second i.e it is taking 2 seconds to process single message with 100 records.

Can you say why such performance drop is there on Windows 2003 server.

On the queue we don’t have any Transactions, Journal

For your reference we have the following binding setting

closeTimeout="00:01:00"openTimeout="00:01:00"receiveTimeout="00:10:00"sendTimeout="00:01:00"deadLetterQueue="System"durable="true"exactlyOnce="true"maxReceivedMessageSize="65536"maxRetryCycles="2"receiveErrorHandling="Fault"receiveRetryCount="5"retryCycleDelay="00:30:00"timeToLive="1.00:00:00"useSourceJournal="false"useMsmqTracing="false"queueTransferProtocol="Native"maxBufferPoolSize="524288"useActiveDirectory="false"

<readerQuotasmaxDepth="32"maxStringContentLength="8192"maxArrayLength="16384"maxBytesPerRead="4096"maxNameTableCharCount="16384" />

And the security setting is none

Can you say why such performance drop is there on Windows 2003 server?

Regards

Baskaran

[7871 byte] By [KBaskaran] at [2008-1-7]
# 1

hi

we are facing performance issue while using MSMQ in windows 2003

it is WCF application

Both the client and server applications reside on the same machine.

The client pushes a collection of 100 custom objects to the private queue from where

the server application takes up the messages and

just pushes the messages to the database where few simple calculations are done dependng upon the data received.

while running on windows XP machine we are getting a performance of 500 records per second i.e. our application is able to consume 5 messages with 100 records each

where as in Windows 2003 the same application is giving a performance of only 50 records per second i.e it is taking 2 seconds to process single message with 100 records.

Can you say why such performance drop is there on Windows 2003 server.

On the queue we don’t have any Transactions, Journal

For your reference we have the following binding setting

closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" deadLetterQueue="System" durable="true" exactlyOnce="true" maxReceivedMessageSize="65536" maxRetryCycles="2" receiveErrorHandling="Fault" receiveRetryCount="5" retryCycleDelay="00:30:00" timeToLive="1.00:00:00" useSourceJournal="false" useMsmqTracing="false" queueTransferProtocol="Native" maxBufferPoolSize="524288" useActiveDirectory="false"

<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />

And the security setting is none

Can you say why such performance drop is there on Windows 2003 server?

Regards

Baskaran

KBaskaran at 2007-10-2 > top of Msdn Tech,Visual Studio Orcas,Windows Communication Foundation (Indigo)...
# 2

hi

we are facing performance issue while using MSMQ in windows 2003

it is WCF application

Both the client and server applications reside on the same machine.

The client pushes a collection of 100 custom objects to the private queue from where

the server application takes up the messages and

just pushes the messages to the database where few simple calculations are done dependng upon the data received.

while running on windows XP machine we are getting a performance of 500 records per second i.e. our application is able to consume 5 messages with 100 records each

where as in Windows 2003 the same application is giving a performance of only 50 records per second i.e it is taking 2 seconds to process single message with 100 records.

Can you say why such performance drop is there on Windows 2003 server.

On the queue we don’t have any Transactions, Journal

For your reference we have the following binding setting

closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" deadLetterQueue="System" durable="true" exactlyOnce="true" maxReceivedMessageSize="65536" maxRetryCycles="2" receiveErrorHandling="Fault" receiveRetryCount="5" retryCycleDelay="00:30:00" timeToLive="1.00:00:00" useSourceJournal="false" useMsmqTracing="false" queueTransferProtocol="Native" maxBufferPoolSize="524288" useActiveDirectory="false"

<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />

And the security setting is none

Can you say why such performance drop is there on Windows 2003 server?

Regards

Baskaran

KBaskaran at 2007-10-2 > top of Msdn Tech,Visual Studio Orcas,Windows Communication Foundation (Indigo)...
# 3

Hi,

The performance decrease you are observing is very odd. Can you tell us more about the hardware specifics, such as architecture (x86, amd64, ia64) and RAM for both the XP and the Win2k3 machines? Also, is the database local or remote?

SorinAlexander-MSFT at 2007-10-2 > top of Msdn Tech,Visual Studio Orcas,Windows Communication Foundation (Indigo)...
# 4

hi

the win2K3 machine is a Dell Server with Intel Xeon 2.8GHz Dual Processor and 2GB RAM

while the winXp machine is a HP xw4300 workstation with P4 3.4 Ghz and 1 GB of RAM

and the database is local only

regards

baskaran

KBaskaran at 2007-10-2 > top of Msdn Tech,Visual Studio Orcas,Windows Communication Foundation (Indigo)...
# 5
Hi Baskaran, do you have any sample code to demonstrate this? What are the objects/records that you send in your contract? I guess this is client/server scenario. What network connection do you have between you client and server boxes please? The throughput of 50 records/sec seems too low to me. For 4KB records, you should observe thousands of records/second.
WenlongDong-MSFT at 2007-10-2 > top of Msdn Tech,Visual Studio Orcas,Windows Communication Foundation (Indigo)...

Visual Studio Orcas

Site Classified