Haproxy 配置 Intel QAT 加速卡

Haproxy 配置 Intel QAT 加速卡

Intel QAT 加速卡可以对HTTPS的请求进行异步请求, 加快证书处理, 降低系统性能消耗。
Haproxy 作为代理, 可以代理HTTPS请求, 需要重新编译,支持QAT加速卡,这样才能将请求给QAT加速卡。
Intel QAT 加速卡安装在上一遍文章已经提到, 这里就不在说了, 可以查看之前文章。
intel qat 加速卡安装配置 : https://sukbeta.github.io/intel-qat/

相关URL

haproxy QAT Install: https://01.org/sites/default/files/downloads/621658-1.1-qat-debugging-guide.pdf
haproxy intel 测试配置: https://software.intel.com/content/www/cn/zh/develop/articles/accelerating-ssl-load-balancers-with-intel-xeon-v3-processors.html

Hadproxy 下载
1
2
cd /home
wget https://www.haproxy.org/download/1.9/src/haproxy-1.9.16.tar.gz
编译
1
2
3
cd haproxy-1.9.16
make TARGET=linux2628 ARCH=x86_64 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_CRYPT_H=1 USE_LIBCRYPT=1 SSL_INC=/usr/local/ssl/include SSL_LIB=/usr/local/ssl/lib ADDLIB=-ldl
make install PREFIX=/usr/local/haproxy
Hadproxy 配置文件

需要再配置文件中添加:

1
2
ssl-engine qatengine algo ALL
ssl-mode-async

具体内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
global
daemon
log 127.0.0.1 local1 debug
maxconn 65535
ssl-engine qatengine algo ALL
ssl-mode-async
tune.ssl.default-dh-param 2048
ssl-default-bind-ciphers AES128-SHA
ssl-default-bind-options no-tls-tickets no-sslv3 no-tlsv10 no-tlsv11
nbproc 10
defaults
log global
mode http
option httplog
option dontlognull
retries 3
backlog 10000
maxconn 65535
timeout connect 10s
timeout client 300s
timeout server 300s
timeout tunnel 3600s
timeout http-keep-alive 1s
timeout http-request 15s
timeout queue 300s
timeout tarpit 60s
option dontlognull
option http-server-close
option redispatch

frontend myfrontend
bind :443 ssl crt /usr/local/haproxy/crt/cacom.pem
mode http

frontend myfrontend_80
bind :80
mode http

backend mybackend
server s3 192.168.1.246:80
启动 Haproxy
1
2
cd /usr/local/haproxy/sbin
./haproxy -f qat.conf
验证QAT卡是否工作
1
cat /sys/kernel/debug/qat_dh895xcc_0000\:07\:00.0/fw_counters

这个是QAT卡计数的, 当QAT卡处理请求时, 这里会变化的。

感谢您的支持!