Memcached缓存大数据时对服务器内存、CPU的影响及其对硬件的配置需求

简介:
最近公司在进行缓存框架方面的调研,我主要对Memcached在缓存大数据量情况下对系统硬件的影响和需求做了调研,以下是一些测试数据和调研结果:

 Memcached缓存不同数据量测试情况:    

     
一、测试环境配置信息

   1. 缓存服务器配置信息:一共4台 ,三台是公司服务器,一台是本机
          node1: 单核 1G内存
           node2:  单核 1G内存
          node3:  单核 1G内存
          node4: 4核  8G内存

   2.运行在每台服务器上的Memcached实例配置信息:
         工作线程数量:4个
         设置缓存大小:前三个结点是512MB,最后一个结点是4GB,集群总缓存大小时5632MB
          最大并发连接数:1024
         
二、对内存和CPU的影响测试数据及分析:

数据量 5千 1万 10万 100万 1000万 1亿
内存 1.87MB 3.65MB 36.58MB 366.7MB 3.62GB 受测试环境限制,没有测试
CPU CPU影响较小,对于1000万条数据,单线程向Memcached中写,占用CPU比率为0.0%,尝试分别在测试程序中启动20个线程和100个线程同时向Memcached写数据,这两种情况下每台Memcached缓存服务器的CPU占用率都不超过1%
 

  1. 缓存数据量和占用内存大小成简单线性关系,数据量的增加没有对服务器内存造成特殊影响 
  2. 缓存数据量的大小对CPU没有影响,写缓存的请求数量对CPU有影响且影响较小

三、总结
    1.CPU方面:低并发和大数据量下Memcached对CPU要求很低,高并发情况官方说明是其对CPU要求也很低。
    2.内存方面: 只要内存够用(可横向无限扩展),Memcached缓存大数据量没有问题(1GB可缓存约250万条数据)。
    2.Memcached有两个比较重要的限制,一是最大缓存时间为30天,二是一个缓存项目(key-value)的最大容量为1MB,这两个限制可能会对具体项目造成一定影响,一定要注意。
     
附:一个测试场景的截图    


以下是更具体点的描述:

一、对于CPU的需求

     Memcached对CPU的依赖是轻量级的,因为它的设计目标就是能够快速响应。Memcached是多线程的,默认会有4个工作线程。对于一般情形,Memcached在CPU低配的情形下也会是高效的。

二、对于RAM的需求

     Memcached的设计目标就是能够把分布在多个节点上主机的内存缝合在一起,让我们的应用看到的是一个缝合之后的大块内存,因此,可以这么说:“内存越大越好”,具体大小则根据我们的应用场景来设定即可。
     官方建议我们集群各结点的内存大小是一致的,集群的均衡意味着我们可以很容易的增加或删除结点,而不用考虑它们在集群中的权重大小。
     分配内存时,不应占用全部物理内存,因为过度的分配内存可能会引起内存Swap,导致效率降低。
     对于是否需要高速RAM,官方的回答是:not so much。

三、对带宽的需求

     对带宽的需求主要取决于并发量及缓存Item的大小,因此,不同业务情况对带宽的需求差别是比较大的。

四、Memcached在硬件上的部署

1.使用专用服务器:

     能用专用服务器当然是最好的了,好处不必多说,但也有一点需要注意,横向扩展比纵向扩展有个好处,就是单个结点宕掉对总体的影响会更小,比如一个单机32G 、4台机器机器构成的集群可靠性就比1台机器128G内存的可靠性要高。

2.部署在应用服务器:

     可以部署在应用服务器或其它计算结点上,充分利用它们的空闲内存,比如一个web服务器有4GB的RAM,而运行在上面的App和OS已经占用了2GB,我们可以分配1.5GB给我们的Memcached实例。
     但需要注意的是,这样做会有一些风险,如果内存不足时可能会引起Swap,而一个App的内存泄露也会kill掉Memcached实例。

3.部署在Database服务器:

     不建议部署在数据库服务器上,尽量给数据库分配最大的内存。


     
总结:
  • Memcached对CPU的依赖很低
  • 对内存依赖高,可无限扩展内存,具体占用多大内存可以根据实际需求配置
  • 带宽方面可暂不考虑
  • 建议采用专用服务器或有较多空闲内存的应用服务器作为缓存服务器


     

     
     


王厚达 (18764287653)
相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
7月前
|
机器学习/深度学习 数据库 数据安全/隐私保护
服务器核心组件:CPU 与 GPU 的核心区别、应用场景、协同工作
CPU与GPU在服务器中各司其职:CPU擅长处理复杂逻辑,如订单判断、网页请求;GPU专注批量并行计算,如图像处理、深度学习。二者协同工作,能大幅提升服务器效率,满足多样化计算需求。
3059 39
|
6月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
2239 1
|
7月前
|
存储 弹性计算 网络协议
阿里云服务器ECS通用算力型u2a实例,CPU采用AMD EPYC处理器,睿频最高3.7 GHz
阿里云ECS通用算力型u2a实例搭载AMD EPYC处理器,睿频高达3.7GHz,基于CIPU架构,网络与存储突发带宽最高25Gbps,I/O性能强、延迟低。支持多种云盘及IPv4/IPv6,适用于中小型数据库、APP服务等场景,性价比高,官网价降低9%-22%,是中小企业上云优选。
852 0
|
6月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
677 11
|
6月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
663 25
|
6月前
|
缓存 并行计算 监控
vLLM 性能优化实战:批处理、量化与缓存配置方案
本文深入解析vLLM高性能部署实践,揭秘如何通过continuous batching、PagedAttention与前缀缓存提升吞吐;详解批处理、量化、并发参数调优,助力实现高TPS与低延迟平衡,真正发挥vLLM生产级潜力。
1500 0
vLLM 性能优化实战:批处理、量化与缓存配置方案
|
6月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
7月前
|
存储 缓存 数据挖掘
阿里云轻量应用服务器“CPU优化型”配置介绍、费用价格说明
阿里云轻量应用服务器推出CPU优化型,提供更强计算性能,2核4GB起,最高16核64GB,全系支持200Mbps带宽。适用于企业级应用、数据库、游戏服务器等高算力场景,保障稳定高效运行。
826 1
|
7月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1321 5

热门文章

最新文章

下一篇
开通oss服务