为nginx 绑定CPU

前文所讲,taskset 能为进程绑定CPU,但毕竟是事后的绑定,nginx 能够在软件内部实现该功能。


本来淘宝的tengine很好的解决了这个问题,一行搞定

worker_cpu_affinity auto;


但是无奈编译tengine+ pagespeed 失败,只好研究一下nginx的绑定办法


以四核CPU 为例,CPU 编号分别是

0001 0010 0100 1000


另一种情况是双核四线程,两个物理内核,表现出来也是四核,实际上是“伪四核”,是一种提高CPU效率的手段,通常都是intel CPU。虽然CPU编号不变,但是0001和0100实际是同一个物理核心。


我们比较一下双核四线程、四核四线程以及四核八线程的区别就知道了。


双核四线程

# cat /proc/cpuinfo  |grep "core id"
core id         : 0
core id         : 1
core id         : 0
core id         : 1


四核四线程

# cat /proc/cpuinfo  |grep "core id"
core id         : 0
core id         : 1
core id         : 2
core id         : 3


四核八线程

# cat /proc/cpuinfo  |grep "core id"
core id         : 0
core id         : 1
core id         : 2
core id         : 3
core id         : 0
core id         : 1
core id         : 2
core id         : 3


nginx worker个数,官方建议使用物理CPU核心数,而不是逻辑核心数。


假设双核四线程,那么就有2个nginx worker进程(第一三逻辑CPU一组,另外两个一组)

worker_cpu_affinity 0101 1010;


假设四核四线程,那么就有四个nginx worker进程,那么绑定就很简单了,挨个绑定:

worker_cpu_affinity 0001 0010 0100 1000;


假设四核八线程,那么还是四个nginx worker进程(第一五逻辑CPU一组,第二六一组,类推)

worker_cpu_affinity 00010001  00100010 01000100 10001000;


如果不按照物理CPU核心的顺序绑定,比如双核四线程,

worker_cpu_affinity 0011 1100;

这样绑定会导致CPU切换比较频繁。


如果是高端CPU,核心数会非常多,那么就会有很多个零,手动绑定虽然看起来很傻,也不太省心,但确实奏效。


update 2016-01-31

nginx-1.9.10 开始,增加 worker_cpu_affinity auto 功能。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Nginx绑定HTTPS,您需要完成以下步骤: 1. 首先,确保您的域名已备案并且已经解析到正确的服务器IP地址。您可以在浏览器中输入https://您的域名来检查是否已经完成了HTTPS的搭建。如果看到网站未备案或者出现"welcome to nginx"的提示,那么说明您的域名的HTTPS已经搭建完成了,如果未备案,请进行备案。此外,您还可以查看Nginx的运行日志来了解是否有其他问题出现。 2. 其次,您需要编辑Nginx的配置文件nginx.conf。您可以使用命令`cd /etc/nginx`进入Nginx的配置文件目录,然后使用命令`vim nginx.conf`来编辑nginx.conf文件。在该文件中,您需要确保已经添加了正确的SSL证书和私钥,并配置了正确的监听端口和域名。将HTTP的监听端口(默认为80)改为HTTPS的监听端口(默认为443),并配置正确的SSL证书和私钥路径。 3. 接下来,您需要重启Nginx以使配置生效。您可以使用以下命令来操作Nginx的运行状态: - `systemctl status nginx` :查看Nginx的运行状态 - `systemctl start nginx` :启动Nginx - `systemctl stop nginx` :关闭Nginx - `systemctl restart nginx` :重启Nginx 完成上述步骤后,您的Nginx服务器就成功绑定了HTTPS。用户在访问您的网站时将通过加密的安全连接进行通信。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [nginx部署https域名](https://blog.csdn.net/weixin_52994410/article/details/125671462)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值