《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.6 了解设计要素

简介: 本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.6节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.6节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.6 了解设计要素

在本章的最后一部分,我们继续来看看你在前面的章节中学会了什么,然后应用这些原则来进行服务器的选择,以及决定是应该纵向扩展还是横向扩展。
选择服务器
当谈到一台服务器的选择时,并不存在对或错的答案,但希望能提供一些指导使你可以采取适当的措施用最好的解决方法来完成。重复利用还是替换服务器的问题会经常出现,而答案完全取决于使用年限、保修和打算重用的服务器的能力。因此,这里有一些基本规则,当涉及确定你的虚拟架构时可以遵循:
保持使用相同系列的CPU,否则就有性能流失的危险。
你有硬件可供使用并不代表你应该使用它。
如果它超过保修期或不支持HCL,就换掉它。
前面提到过CPU和CPU的家族是与EVC有关系的,而在第4章里关于感知CPU负载均衡的讨论会在涉及nonuniform memory access(NUMA,非均匀内存访问)时显示CPU因素的重要性。保持CPU系列的一致性可以使你无需复杂过程就能拥有贯穿整个集群的虚拟机vMotion。通过重复使用可能需要EVC的旧硬件,你可能会引入更多问题,比拥有一个统一的虚拟架构需要排除更多的故障问题。这绝不是使用旧硬件就是错误的意思,你只是需要考虑到底重复使用的好处是否能在功耗、散热、性能和空间等方面远远超过替代它。
如果你找到一个有4端口1Gb网卡的高速缓存而又不想浪费,这是可以理解的,但是再给你一个10Gb的CNA(聚合网络适配器)或者10个1Gb的接口,有很多的理由可以使你采用CNA。当拔掉并更换旧的架构与服务器时,你会发现你对电缆与插卡数量的需求会大大减少。被要求用于存储和连接的弹性缓存的物理服务器需要至少2个4端口的1Gb网卡和2个2端口的光纤通道,来连接到分离的光纤,现在能够被仅仅一对提供存储和网络连通性的CNA取代。不仅消耗功率和冷却由于更少的端口而降低,还可以显著减少服务器之间使用的电缆数量。
最后,如果服务器超过了保修期或者再也不在HCL(硬件兼容性列表)上了,就换掉它吧。当它超过保修期或者从HCL上消失的时候,它将不是一个适合运行任务关键型基础架构的候选者。它也许对你的实验室是一个合适的选择(将在第3章讨论),但此时它不应该是一个正确的选择。
纵向扩展与横向扩展
纵向扩展和横向扩展的选择可以使你的服务器提到一个新水平,你要决定把鸡蛋放在多少个篮子里,与此同时还要决定有多少种不同的鸡蛋。你可以问10个不同的人关于应该纵向还是横向扩展的意见,然后你会得到77个不同的答案。这完全没有任何问题:它们都是完全正确的而同时也是完全错误的。
无论是纵向扩展还是横向扩展,在你做过或没做过的架构决策中都会遇到这个问题,并且不受你的控制。如果你有很多需要极高CPU和内存性能的应用程序,你会偏爱于纵向扩展,然而如果你的工作量比较容易达到而且你的集群里有很好的平衡与负载,你会考虑横向扩展。你必须考虑横向扩展越多就需要越多的可用网络与存储接口,而且如果你的环境已满或将满,与简单地纵向拓展相比,横向拓展的代价会远远超过其优势。
所有事情都是平等的,考虑以下两个集群的例子,图1-10为纵向扩展,图1-11为横向扩展。

image


额外主机的可用性提供了很多优点,包括很大的CPU与内存的故障转移能力。而在这个例子中,纵向拓展的系统会有近乎两倍的CPU资源,由于内存插槽的数量增加,其内存需求允许使用相同或更大的寻址存储器。


image


如果没有真正了解用户配置文件和应用程序的使用情况,没有人能做出一个正确决定来回答到底纵向拓展还是横向拓展扩展更适合,虽然幸运地说,现如今提供的高计算和大内存的系统往往意味着你不必选择可用性。

相关文章
|
2月前
|
存储 缓存 监控
|
8天前
|
存储 缓存 JavaScript
如何优化Node.js应用的内存使用以提高性能?
通过以上多种方法的综合运用,可以有效地优化 Node.js 应用的内存使用,提高性能,提升用户体验。同时,不断关注内存管理的最新技术和最佳实践,持续改进应用的性能表现。
|
16天前
|
存储 网络协议 安全
软件管理,磁盘存储,文件系统以及网络协议
【11月更文挑战第9天】本文介绍了软件管理、磁盘存储和网络协议等内容。软件管理包括软件生命周期管理和软件包管理,涉及需求分析、设计、实现、测试、发布、维护等阶段,以及软件包的安装、升级和依赖关系处理。磁盘存储部分讲解了磁盘的物理结构、分区与格式化、存储管理技术(如 RAID 和存储虚拟化)。网络协议部分涵盖了分层模型、重要协议(如 HTTP、TCP、IP)及其应用与安全。
|
19天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
109 1
|
19天前
内存池适用于哪些场景
内存池适用于哪些场景
|
19天前
|
监控 安全 程序员
如何使用内存池池来优化应用程序性能
如何使用内存池池来优化应用程序性能
|
22天前
|
存储 缓存 Java
结构体和类在内存管理方面的差异对程序性能有何影响?
【10月更文挑战第30天】结构体和类在内存管理方面的差异对程序性能有着重要的影响。在实际编程中,需要根据具体的应用场景和性能要求,合理地选择使用结构体或类,以优化程序的性能和内存使用效率。
|
2月前
|
机器学习/深度学习
YOLOv10优改系列一:YOLOv10融合C2f_Ghost网络,让YoloV10实现性能的均衡
本文介绍了YOLOv10的性能优化,通过融合Ghost模块和C2f结构,实现了网络性能的均衡。GhostNet通过GhostModule和GhostBottleNeck减少参数量,适用于资源有限的场景。YOLOv10-C2f_Ghost在减少参数和计算量的同时,保持了与原始网络相当或更好的性能。文章还提供了详细的代码修改步骤和可能遇到的问题解决方案。
164 1
YOLOv10优改系列一:YOLOv10融合C2f_Ghost网络,让YoloV10实现性能的均衡
|
28天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
235 2
|
2月前
|
缓存 监控 前端开发
优化网络应用的性能
【10月更文挑战第21天】优化网络应用的性能
23 2