Leveraged extensively by both external customers and Microsoft Product Groups alike to profile and measure Windows networking performance, updated versions of NTttcp (a Winsock-based port of BSD’s TTCP tool) have remained 'internal-only' for the past five years (the last public version, v3.0, was released in 2008). That is, of course, until now!
Download: NTttcp v5.28
I’m excited to announce that the latest version of NTttcp is now also publicly available, posted on TechNet Gallery bundled with an updated EULA. This latest version (v5.28) brings forth both performance improvements and feature enhancements including:
- Optimizations added for 10GigE interfaces
- Increased platform support: x86, x64 and ARM
- Simplified usage (e.g. sender and receiver functionality determined with a simple parameter switch)
- Dynamic allocation of threads across all system cores (using ‘*’ for the processor ID mapping value)
- Startup order dependency removed (i.e. server/receiver will wait for the other rather than time out)
- Custom warm-up and cool down options available
- Results can be outputted to XML
- Ability to bind sender traffic to a specific IP address
- Synchronization of data ports, useful when running multiple instances
- An option to set the WAIT_ALL flag when using recv or WSARecv functions
Overall, the basic program workflow follows the previously released public version (v3.0), with the most notable exception related to the setup of the sender and receiver. Rather than needing to rename the program based on function, parameters enable the selected functionality: '-s' for the sender and '-r' for the receiver.