NGINX Integration
Asynchronous Mode NGINX with QAT
NGINX with asynchronous mode for Intel QAT Engine provides significant performance improvement with QAT acceleration. The asynchronous mode enables NGINX to handle cryptographic operations without blocking, maximizing throughput.Installation
The asynchronous fork of NGINX can be found at: For detailed instructions on enabling async mode NGINX with QAT hardware and software acceleration using best known configuration:Configuration Example
NGINX QUIC with QAT
Experimental QUIC support for NGINX with Intel QAT Engine for BoringSSL Library is available. This enables hardware-accelerated cryptographic operations for QUIC protocol implementations. For more information:HAProxy Integration
HAProxy is a free, fast, and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications.Installation
- Follow the instructions from HAProxy Install to build and install HAProxy.
-
Use the
USE_PTHREAD_EMULATION=1option in the make command to improve performance by utilizing HAProxy’s lighter locks replacing OpenSSL Pthread locks:
Configuration
Add the following options to your HAProxy configuration file along with other standard settings to utilize QAT acceleration:Key Configuration Options
- ssl-engine qatengine algo ALL: Enables the QAT engine for all supported cryptographic algorithms
- ssl-mode-async: Enables asynchronous SSL/TLS processing for better performance
Real-World Use Cases
High-Performance Web Serving
Organizations serving HTTPS traffic at scale can leverage QAT acceleration to:- Reduce CPU utilization for SSL/TLS operations
- Increase connection throughput
- Lower latency for encrypted connections
- Handle more concurrent connections per server
Load Balancing and SSL Offloading
HAProxy with QAT acceleration is ideal for:- SSL/TLS termination at the edge
- Distributing traffic across backend servers
- Reducing computational overhead on application servers
- Improving overall system throughput
Content Delivery Networks (CDN)
CDN edge nodes can benefit from QAT acceleration for:- Accelerated HTTPS content delivery
- Reduced power consumption per transaction
- Better performance for cryptographic operations
- Improved cost efficiency at scale
Performance Benefits
Integrating QAT with NGINX and HAProxy typically provides:- 2-4x improvement in SSL/TLS handshake performance
- Reduced CPU utilization by 30-60% for cryptographic operations
- Increased throughput for encrypted connections
- Lower latency for SSL/TLS operations
Case Studies and Resources
Performance White Papers
- Intel QuickAssist Technology and OpenSSL-1.1.0: Performance
- Intel QuickAssist Technology - NGINX Performance White Paper
- Accelerate HAProxy with Intel QAT
Additional Resources
For more application integrations and case studies:Best Practices
Performance Tuning
- Configure adequate worker processes: Match the number of worker processes to your CPU cores
- Adjust async_jobs: Set appropriate async job counts based on your workload
- Monitor QAT device utilization: Use
adf_ctl statusto verify device usage - Tune memory limits: Ensure adequate memlock limits for USDM memory allocation
Production Deployment
- Test thoroughly: Validate functionality and performance in staging environments
- Monitor logs: Check application logs for QAT-related messages
- Plan for fallback: Ensure software fallback is available if QAT hardware is unavailable
- Update regularly: Keep QAT drivers, engine, and applications updated
When deploying in production, ensure that your QAT hardware is properly configured and that the driver is running before starting NGINX or HAProxy.