Thursday, September 11, 2008

MIMIC Performance Report: Fedora vs. Solaris Intel on dual-CPU Sunfire V20z

MIMIC Performance Report: Fedora vs. Solaris Intel on dual-CPU Sunfire V20z

MIMIC is SNMP simulation software that supports up to 20,000 agents on one workstation. The main concern is the performance for a fully loaded workstation. You want at least hundreds of PDUs per second to make a simulation viable. Each hardware platform / operating system combination has different performance characteristics.

For MIMIC, performance is primarily governed by the amount of physical memory (RAM). The memory requirements depend on the simulations you are going to run. Obviously, a high-end router simulation with hundreds of interfaces, RMON tables, etc. is going to take more memory than the simulation of an end system.

As a ball-park estimate, we like to see at least 1MB of dedicated physical RAM per simulated agent, e.g., a 100 agent scenario should run fine on a 128MB system (depending on how much memory is used by the OS and other processes). For better performance (less swapping), 2MB per agent is recommended. When the agents are running the same simulation, MIMIC optimizes memory usage to contain only one copy of the simulation data for all agents of the same type.

You can more accurately measure this by running a simulation configuration, and checking on memory usage before and after starting the desired agent simulations. Notice that MIMIC uses memory on demand, so you should measure the memory after doing a walk of the desired tables (or a complete MIB walk). Eg. on Windows NT use the Windows Task Manager to check "Memory Usage", and on Unix use the "top" utility. The memory usage by MIMIC is approximately the same for all platforms.

The CPU is of secondary importance. Most modern processors (e.g., Intel Pentium 2GHz or faster, and Ultra Sparc) are adequate. MIMIC works with multi-processor systems, since it is a multi-threaded, distributed application. Agent thread processing will be distributed across multiple CPUs.

The final bottleneck would be the network pipe to your agents. 10Mb Ethernet is adequate for low-volume traffic, 100Mb is better for more demanding applications. MIMIC works with multiple network adapters on your system, so you can talk to the simulations over separate network pipes. MIMIC works with the OS-native protocol stacks, so that all network interface cards that your OS supports can be used. You can even run MIMIC over PPP.

This performance test is designed to measure peak performance of MIMIC on various supported platforms under common access scenarios. The variables in the test are the number of agents running simultaneously, and the number of agents being accessed simultaneously. It is assumed that the most common SNMP request is the GETNEXT, as is done in sequential table traversals.

The purpose of this report is to contrast various versions of Fedora Linux from Fedora Core 5 to Fedora 9 versus Solaris 10 on the identical dual-CPU (AMD Opteron 244 at 1792 Mhz) Sunfire V20Z hardware platform.

If you are interested in fastest numbers for a single agent, you want to look at the top row of each matrix. If you are interested in highest scalability, with multiple agents being accessed, you want to concentrate on the bottom row of each matrix.

Overall, you probably want one of the versions of Fedora Linux, if running small scale simulations (upto 1,000 agents), where Fedora 8 is fastest. In the mid range (1,000 to 2,000 agents), Solaris 10 performs best. At the high-end, Fedora 8 was overall best, although we were not able to test it at higher than 10,000 agents, because we only have the 32-bit OS.

Here are some specific results:

- Fedora 8 is the fastest of the Linux variants we tested upto 10,000 agents.

- Only at 1,000 agents is Fedora 9 slightly faster than Fedora 8 (above statistical error).

- Fedora 7 is consistently faster than Fedora 8 at 1,000 and 2,000 agents, but much slower at 5,000 agents or higher.

- Again, Fedora 8 and Fedora Core 6 are comparable at the low end, FC6 is faster at 1,000 and 2,000 agents, but much slower at the higher end.

- FC5 is consistently faster than Fedora 8 from 1,000 to 5,000 agents, but much slower at the higher end.

- On Fedora 9, the 64-bit numbers are comparable to the 32-bit numbers, except at the high-end, where 64-bit numbers are mostly better.

- On Solaris 10, the 64-bit numbers are comparable to the 32-bit numbers, except at 8,000 agents, where 32-bit numbers are slightly better.

- Fedora 8 numbers are the best at the low end (10 and 100 agents) by about 10% over Solaris 10.

- In the middle (1,000 to 2,000 agents) Solaris 10 performs much better than either Fedora 8 or 9.

- Solaris 10 is slightly better than Fedora 7 at 1,000 and 2,000 agents, but much better at the higher end.

- It's a toss up between Fedora Core 6 and Solaris 10 for 1,000 and 2,000 agents, but Solaris performs much better at the high end.

- Since we don't have the 64-bit version of Fedora 8, we cannot recommend it for 20,000 agent scaleability. Instead, Fedora 9 has the best numbers.

No comments: