现场工程师救火-UEFI(BIOS)节能设置导致金牌服务器只跑出龟速

news/2024/4/27 20:16:07/文章来源:https://blog.csdn.net/goldenhawking/article/details/130371653

近期协助出现场,解决了一个非常典型的UEFI 启动参数配置不当导致的服务器降效案例。错误的节能参数配置,导致价值几十万的服务器变成龟速服务器,并造成严重的生产事故。
龟速

1. 现象

朋友公司近期准备升级2010年就部署的服务器组,新升级的服务器使用了昂贵的大品牌 32 核64线程处理器,最高主频高达2.6GHz。服务器到位后,由于该配置比原先的12核心服务器不知道高了多少个档次,所以没有经过太细致的检测,就直接部署了生产逻辑。同时,鉴于新的服务器很刚,物理服务器机柜缩减了规模,服务器台数降低到1/2.

在新机器上线后,试着打开几个测试客户端,都没有问题。而后,试着运行智能客服、语音代理,也都打开了。可是到了第二天,大量用户反馈,语音客服半天没有反应,游戏的场景以及登入都变得异常缓慢。

运维初步查看日志,主要问题如下:

  1. 消息队列拥塞,写的没有落的快。
  2. NPC及智能场景算法在多用户高峰期无法实时,导致大量排队。
  3. 后台数据库查询缓慢,索引性能直线下降,比旧系统还慢了70%。

第一反应:是盘阵坏了?

磁盘

2. 分析

  1. 首先怀疑盘阵损坏,导致kafka、数据库IO瓶颈。但查看指示灯、查询SMART和日志,盘阵并没有问题。
  2. 查看系统监视器,磁盘IO很空闲,只有5%。延迟很小,固态SSD不是吃素的。
  3. 既然不是磁盘,那kafka、数据库为什么慢?查询配置,Kafka使用了数据压缩,zstd模式9。可能是CPU来不及,CPU除了Kafka压缩,还有很多游戏的算法工作。
  4. 查看CPU,64核心竟然跑满了40%多。这种负荷即使在以前老的节点上也没有遇到过。
  5. 查看CPU状态,惊奇发现主频只有 0.9GHz (该CPU理论上能达到3.1GHz峰值速率)。

3. 初步调整

这个情况运维一看,遇到过啊!就是电源节能的问题。

  1. 确认操作系统电源模式为主动散热,最大性能。没问题。
  2. 风扇是否损坏,导致CPU过热保护?查看温度,50度,这,感觉CPU在摸鱼,看似很忙其实没有出力。
  3. 试着调整各种OS参数,CPU主频始终在1.2GHz以下。
    CPU
    整到这里,运维就晕了。认为是服务器厂商忽悠买家,开始喷模式。老板找到老丁,连夜进驻。

4. 再次查看

老丁首先使用 CPU-Z 跑分,发现这个十几万的CPU跑分还没有我打游戏的i7好。无论多核还是单核,都是龟速。

而后,老丁也认为是电源管理问题,但了解后,认为OS层面已经做得差不多了。那,只剩主板层面的问题了。这种大厂服务器忽悠的可能性很小,更何况不可能每一台都有问题。一定是哪个配置不对。

吐槽一下:其实早该查看UEFI配置,无奈现在的服务器重启至少5分钟起步,老板不让下线,宁可保持着在线用户游戏到晚上再关机,也不能白天下线。

5. 锁定原因

老丁身体不好,等不及夜里3点了。找一个kafka节点服务器重启, 只要factor优于门限,应该不会影响客户体验。说干就干,F1进入 UEFI配置。

UEFI Setup——System Settings——Operating Modes

马上发现问题,系统被设置为节能模式。

直接修改为最大性能,保存重启。

服务器风扇开始暴躁模式100%Max,进入OS后,风扇开始减速,查看CPU主频到3.1GHz,完毕。

如法炮制,夜里三点,重启配置所有服务器全速工作,游戏进程流畅无比。性能比预想的还好,服务器还可以扩充其他用途。

6. 处理器电源管理参数设置

当代服务器和10年前相比,出场配置一般都是“绿色节能”模式。这种模式下,CPU是根本不能跑出满分的。本文为了照顾面子,就不贴图了。不管有没有遇到性能问题,都可以检查一下自己的服务器的CPU主频,是不是设置为节能模式了。个人认为,极端节能模式大可不必,只要允许最简单的动态频率即可。为了单个服务器的节能,导致需要部署更多的服务器来横向扩展,功耗反而更大了。

主要设置:

[BIOS]
Power-Saving Mod: Maximum Performance
Maximum Performance
C-States: Disable
C1 Enhanced Mode : Disable
Energy Efficient Turbo: Disable

如此配置后,在操作系统层面再设置为“Maximum Performance”模式,即可获得最大性能。如果需要动态频率,则适当打开C1等开关。注意的是不管开关如何,所有策略都选择“最佳性能”,就不会太差。

后记

服务器的节能指标固然重要,但为了满足业务流要求,使用单台高性能服务器还是要比横向扩展多台节能服务器要划算。用户在考虑配置时,要根据自身的情况来优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103532.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】188. 买卖股票的最佳时机 IV

188. 买卖股票的最佳时机 IV(困难) 思路 状态定义 一、首先确定要一天会有几种状态,不难想到有四种: a.当天买入了股票;b.当天卖出了股票;c.当天没有操作,但是之前是买入股票的状态&#xff…

【数据库】数据库的基础知识

目录 前言 1、 查看数据库 1.1、查看所有数据库(show databases;) 1.2、创建数据库之后,查看创建的数据库的基本信息。 2、 创建数据库 2.1、直接创建数据库(create database [数据库名];) 2.2、创建数据库的时…

Pytest接口自动化测试实战演练

结合单元测试框架pytest数据驱动模型allure 目录 api: 存储测试接口conftest.py :设置前置操作目前前置操作:1、获取token并传入headers,2、获取命令行参数给到环境变量,指定运行环境commmon:存储封装的公共方法connect_mysql.p…

解决方案:Zotero实现参考文献中英文混排,将英文文献中的“等”转成“et al.”

Zotero 是一款非常实用且易于使用的参考文献管理工具,可帮助用户收集、整理和引用各种类型的文献,包括图书、期刊文章、网页等。在学术写作中起着重要作用。 但是其在中文世界中,运行起来偶尔会出现问题,这里记录一个问题及其解决…

隋唐洛阳“西宫”:上阳宫的GIS视角

隋唐洛阳城简介 营建 隋大业元年(605年),在隋炀帝的授意下,隋代著名城市设计师宇文恺,在汉魏故城以西重新选址,历时8个月,日役劳工200万,兴建新都洛阳城。 城和苑 隋唐洛阳城采用…

eBPF技术介绍

前言 eBPF起源于linux内核,它可以以砂箱程序运行在操作系统内核的特权上下文,高效,安全,易于扩展而不需要修改内核源码或者加载内核模块。 操作系统一直是实现观测,安全和网络功能的最理想的地方,因为内核的…

优思学院|精益管理的理念是什么?

作为一个企业,我们都希望拥有高效率和优异的竞争力。但是,如何才能在竞争激烈的市场中脱颖而出?这时,精益管理理念的出现可以帮助我们。 精益管理的基本概念是什么? 精益管理的核心理念是通过消除浪费来实现生产效率…

Java线程间通信方式(3)

前文了解了线程通信方式中的CountDownLatch, Condition,ReentrantLock以及CyclicBarrier,接下来我们继续了解其他的线程间通信方式。 Phaser Phaser是JDK1.7中引入的一种功能上和CycliBarrier和CountDownLatch相似的同步工具,相…

辛弃疾最经典的10首词

他,文能挥笔填词,武能上马杀敌; 他,被称为“词中之龙”, 他,一生赤子,追求收复山河; 他,是与苏轼齐名的豪放派词人; 他是辛弃疾。 辛弃疾一生怀着赤子之…

IO多路复用——select函数

1.select函数原型和fd_set结构体说明 1.1 select函数原型 ​ 使用 select 这种 IO 多路转接方式需要调用一个同名函数 select,这个函数是跨平台的,Linux、Mac、Windows 都是支持的。程序员通过调用这个函数可以委托内核帮助我们检测若干个文件描述符的…

【MCS-51】51单片机结构原理

至今为止,MCS-51系列单片机有许多种型号的产品:其中又分为普通型51(8031、8051、89S51)和增强型52(8032、8052、89S52等)。它们最大的区别在于存储器配置各有差异。下面我举例子的都是8051这一系列的单片机…

STM32-HAL-定时器(无源蜂鸣器的驱动)

文章目录 一、蜂鸣器的介绍二、常用的无源蜂鸣器的电路三、测试准备四、初始化片上外设4.1 初始化定时器4的通道2为PWM输出模式4.2 编写驱动代码4.3 Logic分析仪查看波形4.4 代码分析 一、蜂鸣器的介绍 有源蜂鸣器: 有源蜂鸣器内部有一个发声电路,也就是“源”&…

数据湖Iceberg-Hive集成Iceberg(3)

文章目录 Hive集成Iceberg环境准备Hive与Iceberg的版本对应关系如下上传jar包,拷贝到Hive的auxlib目录中修改hive-site.xml,添加配置项启动 HMS 服务启动 Hadoop 创建和管理 Catalog默认使用 HiveCatalog指定 Catalog 类型使用 HiveCatalog使用 HadoopCa…

C++学习记录——이십 map和set

文章目录 1、setmultiset 2、map3、map::operator[] 1、set vector/list/deque等是序列式容器,map,set是关联式容器。序列式容器的特点就是数据线性存放,而关联式容器的数据并不是线性,数据之间有很强的关系。 它们的底层是平衡…

在当前互联网行情下,Android想转音视频开发,会有前景吗?

前言 近年来,由于三年疫情的影响,很多公司都开始陆陆续续的在裁员,Android开发工作岗位也是,可能有些从事Android开发的朋友还没有意识到,Android开发岗位正在变少,求职者,僧多粥少&#xff0c…

视频大文件传输的演变:从“卷轴男孩”到自动化

200年前,从纽约市到英国伦敦的单程旅行需要乘坐一艘跨大西洋轮船将近三周——如果你能负担得起的话,那就是。那些不能在满是汗水、狭窄的帆船上安顿大约一个半月的人。 今天,视频专业人士能够在几小时甚至几分钟内跨越相同的物理距离传输大量…

《用于估计血压变化的光电体积描记图和心电图的特征》阅读笔记

目录 一、摘要 二、十大问题 Q1论文试图解决什么问题? Q2这是否是一个新的问题? Q3这篇文章要验证一个什么科学假设? Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员? Q5论文中提…

微信小程序第五节——登录那些事儿(超详细的前后端完整流程)

📌 微信小程序第一节 ——自定义顶部、底部导航栏以及获取胶囊体位置信息。 📌 微信小程序第二节 —— 自定义组件 📌 微信小程序第三节 —— 页面跳转的那些事儿 📌 微信小程序第四节—— 网络请求那些事儿 😜作 …

MFC之CRect详解

2023年4月25日,周二晚上。 今天查了不少关于CRect类及其相关内容的资料,学到了不少东西,所以我决定写一篇详细的关于CRect类及其相关内容的文章,以记录今天所学。 CRect类 在 MFC 中,CRect 类表示一个矩形区域。它是…

linux 命令之 tar -czvf和 tar -xzvf

文章目录 一、概述:二、基础知识 一、概述: tar 用于linux 系统中压缩和解压 二、基础知识 tar常用命令参数说明 tar命令的czvf/xzvf参数分别代表的意义如下: -c 或–create 建立新的备份文件。 -x或–extract或–get 从备份文件中还原文件…