Siege is a regression test and benchmark utility. It can stress test a single URL with a user defined number of simulated users, or it can read many URLs into memory and stress them simultaneously. The program reports the total number of hits recorded, bytes transferred, response time, concurrency, and return status. Siege supports HTTP/1.0 and 1.1 protocols, GET and POST directives, cookies, transaction logging, and basic authentication. Its features are configurable on a per user basis.
Bonnie++ is based on the Bonnie hard drive benchmark by Tim Bray. The most notable features that have been added are support for >2G of storage and testing operations involving thousands of files in a directory. This program is used by ReiserFS developers, but can be useful for anyone who wants to know how fast their hard drive or file system is. It now includes ZCAV in the package. This program tests the performance of different zones on the hard drive. ZCAV has been released separately before but will now only be released as part of the Bonnie++ suite.
Bandwidth is primarily a memory bandwidth benchmark, but it can also measure network bandwidth. It measures the maximum memory bandwidth of each part of the memory system, including main memory, L1, L2, and L3 caches, framebuffer memory, and register-to-register. For many tests, it performs both sequential memory accesses as well as random memory accesses to provide a more real-world performance estimate. The tests support Linux (Intel), Windows/Cygwin, and Mac OS X. Its core routines are in assembly for x86 and x86-64 architectures with both SSE4 and AVX support. Bandwidth also includes automatic graphing of the results, stored to a BMP image file. The network bandwidth tests support Linux, Mac OS X, and Windows/Cygwin.
SmokePing is a network latency monitor. It measures network latency to a configurable set of destinations on the network, and displays its findings in easy-to-read Web pages. SmokePing has support for distributed monitoring as well as for dealing with dynamic IP addresses. SmokePing uses RRDtool as its logging and graphing back-end, making the system very efficient. The presentation of the data on the Web is done through a CGI with some AJAX capabilities for interactive graph exploration.
Zoom is a low-overhead graphical and command line profiler for Linux. Profiles are system-wide, precise down to the instruction level, and capture complete backtraces of C/C++/ObjC/Fortran/Assembly code. This lets you see exactly where time was spent, what code was running (user or kernel), and how that code was called. Drill down into a specific symbol, and Zoom shows source and assembly annotated with general and processor-specific tuning advice. It saves profiles as a single, self-contained session file that can be emailed or attached to bug reports. This lets you share what you find with colleagues or archive it for later review. Zoom also supports remote network profiling and scripting, making it ideal for embedded or server systems and automated workflows.
Tsung is a distributed load testing tool. It is protocol-independent and can currently be used to stress HTTP, WebDAV, PostgreSQL, MySQL, LDAP, AMQP, and XMPP/Jabber servers. It simulates user behavior using an XML description file, reports many measurements in real time (statistics can be customized with transactions, and graphics generated using gnuplot). For HTTP, it supports 1.0 and 1.1, has a proxy mode to record sessions, supports GET, POST, PUT, and DELETE methods, cookies, and basic/digest authentication. It also has support for SSL, WebSocket, and BOSH.
Java Memory Profiler (JMP) uses the JVMPI interface to track objects and method times in the JVM (Java Virtual Machine). It uses a GTK+ interface to display statistics. The current instance count and the total amount of memory for each class is shown as is the total time spent in each method.