热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

别想当然之虚拟机的内存(1)

定制计算型服务器典型配置完全可以

    推出“别想当然”系列就是想引导大家再多想一步,特别是和我一样的“甲方”兄弟们,很多概念其实我们都知道,多思考一些,就少一些“上当”,别被人牵着鼻子走。

    1年半来陆陆续续写了一些文章,主要是想告诉大家什么是云,怎么用云,怎么用好云。在我的公众号的二维码下面,我一直写着一句话“致力于云计算的普及和应用”。可以在本公众号里一起分享你的经验,我的联系邮箱:gj.zj@chinatelecom.cn



    中国电信定制的计算型服务器的典型配置是28128G内存。很多人反映说内存配小了。他们在实际配置中觉得内存不够分配,因为申请者往往认为内存越多系统运行越稳定越快,所以往往会提出很大的内存需求。其实在现有的服务器上,并不是配置cpu、内存越多就会越好。(关于CPU的按需使用可以参考以前的文章《基础知识:虚拟机的构成和CPU虚拟化》和《基础知识——  虚拟机CPU分配原则》。)

 

    原来的CPU和通过北桥模块和内存相连,是一个典型的SMP架构,如图1。在SMP架构上的CPU都是通过总线来访问内存,每个CPU到内存的路径是一样长的。但是这种架构下总线的带宽就成为瓶颈了,这样CPU的横向扩容就会遇到困难。


图1

    当CPU的主频发展到了一定阶段,遇到了天花板,再想增加能力,就只有采取新的“NUMA”架构,如图2。在这个架构中CPU是通过内存控制器和内存相连,同时CPU之间互联。比如28128G内存的服务器,每个CPU核直接管理8G内存,访问自己控制的内存速度是很快的,也可以访问到别的CPU管理的内存,但需要通过控制这个内存的CPU


图2

好比一件衣服掉在自己的院子里,马上可以捡回来,但是如果掉到别人家的院子里了,不翻墙进入别人家院子直接去捡,而是需要先去敲门,主人听到了,才会开门,你还要说明来意,才会让你进到院子去捡衣服。


    一般情况,CPU访问本地内存的速度比访问其他CPU控制的内存快34倍。所以,从NUMA架构的角度来说,最佳的性能是只从自己管理的内存中获取信息。

 

    正常的应用需要的计算能力和内存是成正比的。经过实践,在虚拟化的“小人国”内,1CPU核配置8G内存是完全够用的。觉得物理机配置128G内存不够,其实是内存不够分配,但是CPU资源还有多余。看看内存利用率,特别看看活动内存利用率,就知道其实大部分情况是内存分太大了。实际应用中CPU核很多应用是用不完的,于是有了虚拟机的“超配”。在超配下,实际配置的vCPU个数大于实际物理机CPU个数。内存也可以超配,只是大家用的不像CPU超配用的普遍,担心内存超配会导致虚拟机崩溃。(其实内存的超配也是安全可行的,结合下周的内容来讲。)如果内存不想超配,那就按需来分配内存,不要人家要多少就给多少。别忘记云计算的本质是按需分配NUMA架构下一个CPU核配置小余等于8G内存,效率最高。

 

    NUMA架构带来的问题在物理机上或虚拟机上都是差不多的。比如运行在NUMA架构服务器上的“很忙的数据库就会遇到问题,有些数据库对NUMA的特殊支持和优化可以解决。但是虚拟机实现的原理来看,NUMA带来的问题会更放大一些,这块内容下周展开。




推荐阅读
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 数据结构系列1 数组和链表
    数组,链表,l ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
author-avatar
书友70030711
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有