手把手带你搭建秒杀系统
佘志东
前京东交易平台(上海)负责人、资深架构师
12374 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 18 讲
前期准备:技术选型与环境准备 (2讲)
准确无误:打造不超卖和公平的秒杀系统 (2讲)
雷令风行:性能调优更上一层楼 (3讲)
手把手带你搭建秒杀系统
15
15
1.0x
00:00/00:00
登录|注册

11|高性能优化:物理机极致优化

你好,我是志东,欢迎和我一起从零打造秒杀系统。
经过前面章节的学习,咱们逻辑代码层面的优化,基本都已经差不多了。这个时候,再制约系统性能的,往往是些逻辑代码之外的因素了,这些我们可能很少接触,但却非常重要。
所以今天我们将学习一下物理机相关的优化思路,以及部署在物理机上的 Nginx 的配置优化。同时说明一下,以下的优化都是在 Linux 平台下的优化方式,在其他平台的话,部分优化可能不支持。

物理机优化

以下优化,在搭建生产环境时,你可以协同运维部门的同事一起完成,你可以将优化的思路告诉他们,由他们来完成操作会更加合适。

CPU 模式的优化

所谓 CPU 模式的调整,就是调整 CPU 的工作频率,使其呈现出不同的性能表现,以满足特定的业务使用场景。我们一般使用的 Linux 系统,也都有多种模式可供选择,像 PowerSave、OnDemand、Interactive、Performance 等,每个模式的调频方式都不同。
因为考虑到秒杀业务的特殊性,并且有时候活动非常的火热,但过段时间可能就降温了些,所以我们采用的模式也不相同。
像大促期间或者某段时间部分商品持续大力度营销,这时的活动非常火热,流量也高,所以我们需要将 CPU 模式调整成 Performance,即高性能模式。这时 CPU 一直处于超频状态,当然这种状态也是比较耗电的,但是为了更好地开展活动,还是需要打开的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了在物理机上进行极致优化的方法以及Nginx的配置优化。首先,文章讨论了根据业务使用场景调整CPU的工作频率,以满足特定的性能需求。其次,对网卡中断进行了优化,通过合理分配多核CPU资源,专门处理网卡中断,以提高整体服务响应性能。接着,文章介绍了Nginx配置优化的重要性,并详细讨论了全局模块配置和events模块配置的优化方式,包括工作进程数、绑核配置、最大文件描述符数量等关键配置参数的设置。最后,总结了Nginx配置优化的几个常用配置,如accept_mutex和accept_mutex_delay,以及它们的适用场景和建议设置。文章内容涵盖了物理机优化和Nginx配置优化的关键要点,为读者提供了实用的技术指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你搭建秒杀系统》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 呆萌白的大白。
    sendfile on; tcp_nopush on; tcp_nodelay on; 这三个选项一般同时开启,并不冲突。 tcp_nopush on保证数据包的长度尽量到mss sendfile on; tcp_nodelay on保证即使有未确认的ack数据包仍然可以发送出去,三个参数互相配合的关系。 2、现在网卡绝大多数都硬件支持网卡多队列,基本上8个cpu就能跑满万兆14.8Mpps 3、numactl绑核方便简单些 4、tuned可以方便的控制服务器的性能调优(近两年的操作系统都支持)

    作者回复: 感谢您的补充。

    2021-10-21
    8
  • 梅子黄时雨
    学习了。尤其是nginx-http的配置印象深刻,说到了针对客户端和web服务的不同,来设置不同的HTTP长短链接。
    2022-11-25归属地:上海
    1
  • 到不了的塔
    佘老师,请问下,如果是容器部署,这些优化还能有效吗
    2024-03-06归属地:上海
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部