2

A little background:

We have a windows service which gets data from an external server and stores them on a local DB (SQL server 2012).

The external server sends more than 1500 “messages” per second, but our storage rate is almost 500 msg/s for the local server ( the windows service and database are on a single VM with Xeon E5520 and 16 GBs of RAM on a HP G7 Server/ windows server 2012).

When I move the service and DB to my local PC, the storage rate rises to 1100 msg/s.

I did the test on multiple PCs (core2 duo and core i5) and Servers (HP G7 and G8, VM and physical servers), the result was the same: all PCs get messages in a way better rate than our servers.

We thought It might be a network problem, but it was not.

I did a “Memory Transaction Throughput” test with “Sisoft Sandra” on Servers and PCs and figured out that our PCs do a much better job than the servers . the minimum PC result was 5.4MTPS (on a core2 duo E7400), the maximum server result was 3MTPS (on a HP Proliant DL380P with Xeon E5-2650).

I tend to conclude that there’s something wrong with Xeon processors, but that would be a strange conclusion since there are dozens of Xeon DB Servers around the world.

Am I missing something? Is there a special configuration on the BIOS to solve this problem?

6
  • You could try some tuning. What are the clock speeds of the various processors involved? Are your A/B tests using the same switching infrastructure? Have you made any BIOS changes to the server?
    – ewwhite
    Jul 15, 2014 at 8:39
  • @ewwhite thanks for the reply and comment. as I wrote in the question I did the test on different processors (with different clock speeds) but the infrastructure was (almost) the same. haven't change any thing in BIOS yet.
    – Saber
    Jul 15, 2014 at 9:42
  • 1
    Try the low-hanging fruit first... enable the "Maximum Performance" profile in the HP ProLiant BIOS.
    – ewwhite
    Jul 15, 2014 at 9:53
  • 3
    Literally DOZENS!!
    – Wesley
    Jul 16, 2014 at 0:58
  • How fast is the RAM? Jul 16, 2014 at 0:58

1 Answer 1

3

Since this is a messaging application, and you're using HP ProLiant servers, I'd treat this as a low-latency configuration... If this is a easily-reproducible test, can you try the following?

  • Update your server firmware. Make sure the system BIOS and NICs are on current firmware. If you use the HP Service Pack for ProLiant bootable DVD, it will handle all of the relevant components.
  • Set your ProLiant servers to the "Maximum Performance" power profile. This will disable the processor C-states and may be helpful for what you're doing.
  • Prefer the bare-metal solution if it makes more sense logistically. Virtualized networking always carries some overhead.

Look at some of the tuning recommendations we use for messaging-heavy applications.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .