APUS: a new way of benchmarking

Using industry benchmarks and full disclosure of testing methods is important, as it allows other people to verify your numbers. Therefore we have included a benchmark that everyone can verify (3DS Max architecture rendering). However, testing with real heavy duty applications is so much more interesting. These are the applications that are running in the datacenters, not SPECjbb or TPC. People really care about the performance, as when the applications start to crawl, it affects their work and business. Therefore, let me introduce you to our completely new way of benchmarking with our unique software, called APUS.

As many of our loyal readers know, quite a few of the IT-based articles are based on a close collaboration with the server lab of the College University of West-Flanders. While the academic server research is beyond the scope of this article, the main advantage is that we get the opportunity to work with IT firms which develop rather interesting server applications.

Of course testing these applications is rather complex: how can you recreate the most intensive parts of the real world use of an application and get at the same time a very repeatable and reliable real world benchmark? The answer lies in software developed at the same university called APUS. APUS (or Application Unique Stress-testing) allows us to use the logs of real world applications and turn them into a repeatable benchmark. The application is able to read the logs of almost every popular relational Database (DB2, Oracle, Sybase, MySQL, SQL server, PostGreSQL...) and web applications out there.

We are also working on "special protocols" so we can also use this benchmarking method for other socket applications. A highly tuned threading system allows us to simulate a few thousand users (and more) on one dual core portable. Complex setups with tens of clients are not necessary at all.


There is more: thanks to the hard work of Leandro, Ben, Brecht, and Dieter, APUS is much more than the typical stress tests you can find all over the web. It integrates:
  • the monitoring of many important client parameters
  • and server parameters
  • performance measurements
  • and is able to capture the corresponding power consumption in real time, making use of the EXTECH 380801
Integrating client monitoring with performance measurements allows us to detect when our client CPU or network is becoming the bottleneck. Server monitoring, possible on both Linux and Windows platforms, shows us what has been happening on the server during a particular benchmark session.

You may expect us to test with several real world applications in the future, but for now, let me introduce you to our first "as real world as it can get" application: MCS eFMS.

MCS eFMS software suite

One of the very interesting and more processing intensive applications that we encountered was developed by MCS. The MCS Enterprise Facility Management Solutions (MCS eFMS) is a state-of-the-art Facility Management Information System (FMIS). It includes applications such as space management (buildings), asset management (furniture, IT equipment, etc.), helpdesk, cable management, maintenance, meeting room reservations, financial management, reporting, and many more. MCS eFMS stores all information in a central Oracle database.

MCS eFMS integrates space management, meeting room reservations and much more
Click to enlarge

What makes the application interesting to us as IT researchers is the integration of three key technologies:
  • A web-based front end (IIS + PHP)
  • Integrated CAD drawings
  • Gets its information from a rather complex, ERP-like Oracle database.
The application allows users to view unfoldable location trees that display all buildings, floors, rooms, etc. including detailed floor maps. It can also provide an overview of all available meeting rooms and bookings. In practice, MCS eFMS is one of the most demanding web applications we have encountered so far.

It uses the following software:
  • Microsoft IIS 6.0 (Windows 2003 Server Standard Edition R2)
  • PHP 4.4.0
  • FastCGI
  • Oracle 9.2
The next version of MCS eFMS works with PHP 5 and Oracle 10. MCS eFMS is used daily by large international companies such as Siemens, Ernst & Young, ISS, and PricewaterhouseCoopers, which makes testing this application even more attractive. We used the specially developed APUS (Application Unique Stress-testing) software, developed by our own lab to analyze the logs we got from MCS and turn these logs into a demanding stress test. The result is a benchmark which closely models the way users access MCS web servers around the world.

The client, database server, and web server are connected via the same D-link Gigabit Switch. All cable connections worked at 1 Gbit/s full duplex


The only difference is that the hundreds of simulated users access the web server over one Gigabit Ethernet connection, while in the real world people access the MCS web applications over internal LANs as well over different WAN connections. As some of the pages easily take 400 to 800 ms (and higher under heavy load!) between receiving and sending the request, the few milliseconds that a good internet connection adds will not be significant.

MCS received a detailed and accurate model of how the web server and the clients react under different loads, large user groups or heavy pages, which enables them to optimize the MCS eFMS suite even more. Let us see the most interesting results of that report.

Test Setup and Configuration Network Load Balancing
POST A COMMENT

28 Comments

View All Comments

  • JohanAnandtech - Monday, May 28, 2007 - link

    Those DIMM slots are empty :-) Reply
  • yacoub - Monday, May 28, 2007 - link

    ohhh hahah thought they were filled with black DIMMs :D Reply
  • yacoub - Monday, May 28, 2007 - link

    Also on page 8:

    quote:

    In comparison, with 2U servers, we save about 130W or about 30% thanks to Twin 1U system

    You should remove that first comma. It was throwing me off because the way it reads it sounds like the 2U servers save about 130W but then you get to the end of the sentence and realize you mean "in comparison with 2U servers, we save about 130W or about 30% thanks to Twin 1U". You could also say "Compared with 2U servers, we save..." to make the sentence even more clear.

    Thanks for an awesome article, btw. It's nice to see these server articles from time to time, especially when they cover a product that appears to offer a solid TCO and strong comparative with the competition from big names like Dell.
    Reply
  • JohanAnandtech - Monday, May 28, 2007 - link

    Fixed! Good point Reply
  • gouyou - Monday, May 28, 2007 - link

    The part about infiniband's performance much better as you increase the number of core is really misleading.

    The graph is mixing core and nodes, so you cannot tell anything. We are in an era where a server has 8 cores: the scaling is completely different as it will depend less on the network. BTW, is the graph made for single core servers ? dual cores ?
    Reply
  • MrSpadge - Monday, May 28, 2007 - link

    Gouyou, there's a link called "this article" in the part on InfiniBand which answers your question. In the original article you can read that they used dual 3 GHz Woodcrests.

    What's interesting is that the difference between InfiniBand and GigE is actually more pronounced for the dual core Woodcrests compared with single core 3.4 GHz P4s (at 16 nodes). The explanation given is that the faster dual core CPUs need more communication to sustain performance. So it seems like their algorithm uses no locality optimizations to exploit the much faster communication within a node.

    @BitJunkie: I second your comment, very nice article!

    MrS
    Reply
  • BitJunkie - Monday, May 28, 2007 - link

    Nice article, I'm most impressed by the breadth and the detail you drilled in to - also the clarity with which you presented your thinking / results. It's always good to be stretched and great example of how to approach things in structured logical way.

    Don't mind the "it's an enthusiast site" comments. Some people will be stepping outside their comfort zone with this and won't thank you for it ;)
    Reply
  • JohanAnandtech - Monday, May 28, 2007 - link

    Thanks, very encouraging comment.

    And I guess it doesn't hurt the "enthusiast" is reminded that "pcs" can also be fascinating in another role than "Hardcore gaming machine" :-). Many of my students need the same reminder: being an ITer is more than booting Windows and your favorite game. My 2-year old daughter can do that ;-)
    Reply
  • yyrkoon - Monday, May 28, 2007 - link

    It is however nice to learn about InfiniBand. This is a technology I have been interrested in for a while now, and was under the impression was not going to be implemented until PCIe v2.0 (maybe I missed something here).

    I would still rather see this technology in the desktop class PC, and if this is yet another enterprise driven technology, then people such as myself, who were hoping to use it for decent home networking(remote storage) are once again, left out in the cold.
    Reply
  • yyrkoon - Monday, May 28, 2007 - link

    quote:

    And I guess it doesn't hurt the "enthusiast" is reminded that "pcs" can also be fascinating in another role than "Hardcore gaming machine" :-). Many of my students need the same reminder: being an ITer is more than booting Windows and your favorite game. My 2-year old daughter can do that ;-)


    And I am sure every gamer out there knows what iSCSI *is* . . .

    Even in 'IT' a 16 core 1U rack is a specialty system, and while they may be semi common in the load balancing/failover scenario(or maybe even used extensively in paralell processing, yes, and even more possible uses . . .), they are still not all that common comparred to the 'standard' server. Recently, a person that I know deployed 40k desktops/ 30k servers for a large company, and would'nt you know it, not one had more than 4 cores . . . and I have personally contracted work from TV/Radio stations(and even the odd small ISP), and outside of the odd 'Toaster', most machines in these places barely use 1 core.

    I too also find technologies such as 802.3 ad link aggregation, iSCSI, AoE, etc interresting, and sometimes like playing around with things like openMosix, the latest /hottest Linux Distro, but at the end of the day, other than experimentation, these things typically do not entertain me. Most of the above, and many other technologies for me, are just a means to an end, not entertainment.

    Maybe it is enjoyable staring at a machine of this type, not being able to use it to its full potential outside of the work place ? Personally I would not know, and honestly I really do not care, but if this is the case, perhaps you need to take notice of your 2 year old daughter, and relax once in a while.

    The point here ? The point being: pehaps *this* 'gamer' you speak of knows a good bit more about 'IT' than you give him credit for, and maybe even makes a fair amount of cash at the end of the day while doing so. Or maybe I am a *real* hardware enthusiast, who would rather be reading about technology, instead of reading yet another 'product review'. Especially since any person worth their paygrade in IT should already know how this system (or anything like) is going to perform beforehand.
    Reply

Log in

Don't have an account? Sign up now