
So we mentioned in “Part 2” of this series that magic can occur when Nginx is coupled with an “Intelligent NIC”. This “magic” is called FastStack VidePump™, and here are three main benefits:
Congestion mitigation, having a well-tuned user space communications stack and a processor based NIC enables us to be considerably smarter with regard to sending many streams through many small pipes.
Asynchronous sendfile() support, this dramatically improves overall I/O performance.
This “magic” requires a processor based network adapter that can communicate directly with user space memory. This alone dramatically offloads the host CPU from having to provide file based content delivery to web users.
FastStack VideoPump™ offered with both Emulex OneConnect and Myricom network adapters provides all of the above features. Today Nginx supports many users by typically having 1,024 worker threads all doing synchronous sendfile(). With VideoPump™ and a single worker thread we see dramatic performance improvements because Nginx isn’t flopping around between many threads trying keep the I/O pipeline full. So if all of the Nginx video streaming demand is coming from TCP sources (intelligent devices like browsers or applications running on laptops, tablets or smartphones) and the video content is being served up from files, the performance gains afforded by VideoPump™ in transparent mode (which requires no code changes to Nginx or applications) delivers a 25% reduction in host CPU utilization.
VideoPump™ can also be accessed through an Application Programming Interface. For applications designed to serve video content we’ve measured host CPU gains of up to 50%. To learn more about FastStack VideoPump™ please consider contacting your Emulex or Myricom sales representative.
