因为Meltdown和Spectre微处理器漏洞而爆发的头条新闻多少有点平息了,但是升级补丁给IT商店带来了大大小小的问题——可能给微软用户带来了SQL Server性能问题。
今年初就诸多报道的芯片架构缺陷会给包括SQL Server在内的各种数据库都造成影响,英特尔处理器和其它使用创新设计提升系统性能的处理器都存在风险。
谷歌公司Project Zero团队认为,Meltdown和Spectre都会访问芯片高速缓存,建立侧信道通信。Spectre可以注入分发泄露数据的命令,Meltdown的操作更简单——它可以监视内存中的数据。(译注:Project Zero是谷歌于2014年宣布的互联网安全项目,该团队主要由谷歌内部顶尖安全工程师组成,旨在发现、跟踪和修补全球性的软件安全漏洞。“Project Zero”所处理的安全漏洞通常都属于“零日漏洞”范畴。“零日漏洞”指漏洞尚未被公开,用户无法及时得到对应补丁。)
在这两种情况中,恶意代码都会利用芯片级投机执行代码技术——可以在各种类型的系统中使用执行,包括关系型数据库。
来自微软公司和其它用户的早期信息表明,针对Meltdown和Spectre的软件补丁和解决办法会引起SQL Server性能问题。虽然目前还没有迹象表明有真正的黑客出现,但是数据库管理员们(DBA)建议更新服务端软件。不过,这些补丁可能导致额外的性能处理开销。
这些问题不只影响本地部署的数据库。报告显示一些SQL Server云版本的用户最先感受到了Meltdown漏洞措施的性能影响,在微软Azure云环境更新补丁的时候也给运行环境带来了短暂的波折。
补丁与性能处理开销
在DBA们针对Meltdown和Spectre漏洞升级各种补丁同时,他们必须自行评估这些更新会对他们当前的运行环境造成什么样的影响。许多用户博客发言都提到了性能下降问题,涉及数据库、虚拟机、操作系统和硬件组合等诸多方面。
Thomas Larock在技术基础设施管理软件供应商SolarWinds公司供职(总部位于德克萨斯州Austin),是一位技术大拿。他认为早期的一些评估应该批判辩证地看待。LaRock说,判定SQL Server性能问题是因为微软最近发布补丁和漏洞解决方案引起的这一结论为时尚早。
他说:“留意Meltdown和Spectre漏洞有关的补丁数量,你就会理解为什么有的用户报告说产生了30%的负面性能影响。我们可以马上在Reddit论坛上发现几百条类似的留言,这些用户可能都没有理解为什么这样的性能影响完全有可能是正常的。”(译注:Reddit是美国最火的社交论坛及新闻网站,2012年独立访客达到4000万人,当年页面浏览量达370亿次。)
呼叫标新立异的大拿
运行环境负荷、硬件配置、应用程序和代码都是产生不同性能表现的“变数”,这还没有考虑人为因素。
LaRock考虑“总会有人想显示自己的独特,可以标新立异地发现与众不同的信息——声称补丁影响性能。”
在等待芯片制造商针对Meltdown和Spectre发布新补丁的同时,IT专家们不得不先留意应用层面的补丁,不只是盯着数据库层,也包括操作系统和浏览器层面。
千言万语汇成一句话——“能更新的都更新!”
总结Meltdown和Spectre的教训:充分评估和测试
诚然,正如微软MVP LaRock的观点,每个人都应该在应用补丁之前评估补丁的风险,这一点很重要。
他说:“对我来说,任何风险都是大风险。虽然我想打补丁,但是如果我不了解应用补丁会有什么影响我就不会使用,特别是不会给关键任务服务器升级补丁。”
LaRock也给出了建议,用他的话说就是“测试,测试,再测试”,重要的事情说三遍。Ned Bellavance是Anexinet公司云解决方案总监(该公司总部位于宾夕法尼亚州Blue Bell,是一家技术服务供应商),他也非常赞同LaRock的建议。
Bellavance也是一位微软MVP,他说:“总有新的漏洞被发现或爆出相关新闻,我们在把补丁应用到生产环境之前,必须在测试环境充分测试补丁。”
微软提供这些漏洞和修复补丁的支持文档时,也同样在强调测试的重要性。
微软在特定应用场景下应用补丁做测试评估性能时发现,在相同SQL Server负载压力的情况下,应用补丁会出现“明显的性能下降”。微软公司推荐用户在打补丁之前在自己的环境也做性能测试。“如果为了获取补丁新特性而对既有应用性能影响太大,客户可以考虑采用更温和的变通方式——在同一台计算机上把SQL Server与不受信任的代码隔离运行。”
微软建议所有用户安装新版本的SQL Server和Windows Server以降低风险威胁,这样“应该可以把对既有应用的性能影响降到最低”。不过,即便采用这种方案,微软也推荐用户在测试环境下验证他们的SQL Server系统是否会受到性能影响。
Bellavance表示,把数据库迁移到云环境并不能减轻DBA系统设置故障的责任。在面对像Meltdown这种漏洞时尤其如此,因为这种漏洞问题可以渗透到云环境,跨越虚拟机中诸如数据库之类的共享资源产生影响。云供应商可能会应用升级补丁,但是数据库必须配置妥当以应对因此产生的服务中断情况。
微软公司在云环境的SQL Server数据库中快速升级了补丁,但是一些用户仍然不可避免地遭遇了一定的服务器停机时间。
Bellavance说:“使用微软云环境的用户都受到了影响,因为微软不得不实施云环境补丁维护。如果用户没有提前采取高可用措施部署,那么肯定会受到性能冲击。”Bellavance认为现在是时候考虑在自己的环境中选用高可用相关最佳实践了。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
Java、JDBC和Postgres
现在越来越多的企业开始部署PostgreSQL,为什么呢?当你看到这个许可开源数据库所提供的功能,你就不会对此 […]
-
5个元数据管理最佳实践
在数据驱动的环境中,元数据不仅仅是数据的副产品;还是综合数据治理战略的关键组成部分。企业需要适当的元数据管理, […]
-
Cockroach Labs增加矢量搜索,更新定价选项
Cockroach Labs 近日推出矢量搜索功能,旨在使客户能够访问和操作非结构化数据,以训练生成式人工智能 […]
-
如何使用数据治理成熟度模型
如果没有强大的数据治理,数据就无法产生有价值的见解以及改善决策。数据治理成熟度模型可帮助企业评估当前的成就水平 […]