欢迎光临 www.huangdc.com

记一次Centos执行并发curl导致系统负载过高问题:NSS惹的祸

Linux huangdc 73℃ 0评论

问题描述:

php开发新增定时任务每天中午12点都会通过并发curl请求https://**facebook.com/*** ,导致系统cpu负载极高,系统告警了呀

问题排查:

1、跟开发协商将并发的curl数量降低,但是问题依旧。那会是什么问题呢

2、用strace追踪curl执行吧,看看都干了什么

A、先来统计一下系统调用 ,发现一堆access系统调用,而且接近全部都是错误的,尴尬了

B、继续strace追踪看看access什么东西,发现一堆这些 /etc/pki/nssdb/*** , 如下所示

NSS 是什么 ,NSS 是开源软件,和 OpenSSL 一样,是一个底层密码学库,包括 TLS 实现。网上很多反馈NSS内存泄漏,或者其他低版本的问题。

C、通过 curl –version 查看版本,会发现有个NSS

既然NSS有很多问题,那就把NSS换成opensSSL吧,重新编译curl ,编译参数加上 –without-nss  去掉NSS即可,加上 –with-ssl 修改为openSSL 。当然你要下载curl的软件包吧,自己下吧。编译参数如下

再次curl –version 查看版本,会发现NSS被替换成了openSSL了

最后检查并发curl也正常了

注意:curl都重新编译了,记得php也要重新编译哦

 

转载请注明:Huangdc » 记一次Centos执行并发curl导致系统负载过高问题:NSS惹的祸

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情