memcache、redis、tair性能对比测试报告

memcache、redis、tair性能对比测试报告
memcache、redis、tair性能对比测试报告

memcache、redis、tair性能对比测试报告第1章限制条件

前一周所做的分布缓存技术预言中有包括ehcache、memcache、redis、tair,还包括了基于MongoDB的分布式技术。测试中,考虑到各自功能的差异化特点,其中选择了memcache、redis、tair功能特性相近的缓存服务器进行性能对比,所以ehcache、MongoDB将不做为本次测试的规范,其原因如下:

1)Ehcache是组件级别的缓存,要搭建一个独立的缓存服务器,需要用到ehcache server 模块,这是个war包,能运行在web 容器中,决定整个缓存服务器性能的好坏因素太多,比如web服务器,集群方式等。跟memcache、redis、tair没有对比性。

2)MongoDB是面向文档的数据库,跟缓存没有可比性。

第2章测试场景概述

性能测试包括单机环境和分布式环境,主要针对memcache、redis、tair各缓存服务器在缓存了不同级别的数据下,多个线程并发操作向缓存set/get缓存数据,考虑到网络方面的负载,又将每次set/get操作的缓存数据的大小分为三个不同的级别:1KB,10KB,100KB,通过对上述的条件进行排列,取得以下的测试场景。

第3章单机环境测试

3.1. 测试场景:

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。3.并发200个线程通过缓存软件的客户set调用向服务端推送数据,每个线程完成10000

次的操作,比较服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三

次。

4.并发200个线程通过缓存软件的客户get调用向服务端获取数据,每个线程完成10000

次的操作,比较服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

3.2. 测试环境

3.3. 测试结果

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

3.在场景一完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户set

调用向服务端推送数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三次。

4.在场景三完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户get

调用向服务端获取数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

第4章分布式环境测试

4.1. 测试场景:

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。3.在场景一完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户set

调用向服务端推送数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三次。

4.在场景三完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户get

调用向服务端获取数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

4.2. 分布式环境

memcache

tair configserver

tair dataserver

redis

4.3. 测试结果

1.当各缓存的数据库空时,以单线程通过各缓存客户端set调用向服务端推送数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

2.在场景一完成的情况下,以单线程通过各缓存客户端get调用向服务端获取数据,比较

10000操作所消耗的时间,以上动作通过使用不同大小的单个缓存对象重复三次。

3.在场景一完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户set

调用向服务端推送数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同大小的单个缓存对象重复三次。

4.在场景三完成的情况下,缓存服务器有数据,并发1000个线程通过缓存软件的客户get

调用向服务端获取数据,每个线程完成10000次的操作,比较各服务器的tps大小,以上动作通过使用不同的key取不同大小的数据,重复三次。

51CTO学院-微信公众平台开发-PHP视频教程

微信公众平台开发-PHP视频教程 课程目标 1、了解微信公众平台的原理 2、根据微信公众平台所提供的开发接口来开发一个属于自己的微信 公众平台。3、开发中常用工具的使用。 适用人群 PHP爱好者,具有PHP基础及PHP面向对象相关知识的学员。 课程简介 1、微信公众平台开发者功能启用配置 2、基于新浪SAE平台开发微信公众平台 3、微信公众平台服务器及客户端交互 4、基于VPS开发微信公众平台 5、微信公众平台关注、取消关注等事件 6、微信公众平台文字、图片等消息 7、微信公众平台简单回复 8、微信公众平台机器人API 9、微信公众平台天气API 10、微信公众平台自定义菜单开发 11、微信公众平台微站开发 12、微信公众平台后台管理平台开发 备注:此课程在线服务器为Linux操作系统,开发方式为企业真实开发方式。 第一章课程介绍 1课时5分钟 1 课程介绍 [免费观看] 5分钟 本课程课程目标、课程要求及课程内容介绍。 第二章小试牛刀 4课时29分钟 2 微信公众平台介绍 [免费观看]

5分钟 介绍什么是微信公众平台,微信公众平台的分类,如何申请微信公众平台。 3 微信公众平台开发者接入 [免费观看] 10分钟 新浪SAE平台的申请,应用创建,具体使用,上传代码并进行开发者接入验证; 4 微信公众号默认消息回复 [免费观看] 7分钟 开发者中心配置,如何进行接入,开启微信默认回复。 5 微信公众号简单消息回复 [免费观看] 5分钟 对responseMsg()方法进行修改并完成简单消息回复功能! 第三章基于VPS开发微信公众平台 34课时5小时35分钟 6 VPS介绍 7分钟 什么是VPS,VPS的优点,如何购买VPS。 7 FTP工具filezilla介绍及使用 6分钟 什么是FTP,filezilla工具介绍及使用。 8

云计划

电子商务专题讲座课程论文题目:关于云 系部名称:经济管理系专业班级:营销101班 学生姓名:王丽敏学号:201004024108课程教师:王趁荣教师职称:副教授 2012年12月26日

云[1]是指停留大气层上的水滴或冰晶胶体的集合体。云是地球上庞大的水循环的有形的结果。太阳照在地球的表面,水蒸发形成水蒸气,一旦水汽过饱和,水分子就会聚集在空气中的微尘(凝结核)周围,由此产生的水滴或冰晶将阳光散射到各个方向,这就产生了云的外观。这就是在我们的生活中普遍见到的现象“云”。然而现在它却是其他的代名词,我要讲的包括阿里巴巴旗下的云计划、百度旗下的百度云以及云计算的形成和发展。 先讲一下阿里巴巴旗下的云计划,我第一次听到云计划是老师在课堂上讲阿里巴巴时提到的,当时很好奇,所以就开始慢慢了解关于云计划。我在淘宝开店时同时在阿里巴巴上注册了账号,因此可以直接进入云计划上面的生意经网站。在这之前先了解云计划的概念,发展历程以及计划。 首先,云计划的定义 云计划[2]是一个打造小企业商业智慧分享成长平台。它集合商业名家、专家学者和公众的力量,解决千万小企业的难题,助力小企业成长。由马云担任首席导师,携手由商业名家、专业机构、知名网商等组成的导师团,他们一起与小企业创业者和个人网商采取问答互动形式,进行线上交流。 第二,云计划由来 2010年5月14日,阿里巴巴店举办2010年全球股东大会。大会由阿里巴巴集团董事局主席马云及阿里巴巴公司CEO卫哲主持,吸引了包括摩根士丹利、摩根大通等国际知名投行前来。 在股东大会上,马云作为首期创业导师,启动了由他所倡导的小企业商业智慧分享平台——云计划,分享企业经营管理方面的经验和理念,帮助小企业们共同成长。 第三,“云计划”实践 2010年盛大在线推出了人才“云计划”战略。“云计划”战略由“找人计划”、“云梯计划”、“暖心计划”三大内容构成,涉及了从选人、用人到留人的管理人才三部曲。 第四,云计划的云计划 云计划是一个智慧分享的问答平台,小企业有资金、人才、管理、经营、资金等相关的问题,都可以在云计划平台上提问,云计划汇集了马云、卫哲、黄鸣、白云峰、查立等知名企业家导师,以及余庆、曾永良、柳金育、朱明、吴翔等实战经验丰富的导师,为小企业解答难题。汇聚和分享千万小企业的困

php开发主管的工作职责

php开发主管的工作职责 php开发主管需要负责与产品需求人员沟通,完成后台架构设计、数据库设计、业务抽象、组件封装等工作。以下是小编整理的php开发主管的工作职责。 php开发主管的工作职责1 职责: 1、熟悉软件开发流程; 2、负责与需求人员接口,熟悉项目的需求规划说明; 3、负责与开发组长接口,熟悉项目的开发计划,及项目的概要设计说明数据库设计;

4、按计划完成功能模块的功能设计、代码实现, 代码编写和单元测试,并提交测试人员进行功能测试; 5、根据项目要求,判断是否需要完成《详细设计说明书》的编写; 6、严格遵守相关开发工具的编码规范; 7、参与需求和设计讨论,对项目开发各个环节进行签字确认; 8、为前端技服人员提供技术支持,解决技服过程中遇到的相关问题; 9、提交相关年、月、日计划和总结; 10、维护电子商务网站及开发工作,维护ERP系统,System Network 管理 岗位要求: 1、计算机或相关专业本科以上学历; 2、精通PHP, 编程语言,具备良好的编程风格; 3、精通网络编程,能够进行多线程开发,有实时监控系统开发经验者优先 4、具备相关行业知识或实践经验;较强的客户服务意识;

5、具备项目开发和管理经验,能良好地掌握开发速度和质量; 6、有3年以上的软件开发经验; php开发主管的工作职责2 职责: 1、负责后端各系统的架构设计、开发、重构、优化; 2、参与制定后端技术中期、短期开发计划,并带领团队完成计划; 3、解决重要项目目中的关键技术难题; 4、负责技术方案设计及关键功能的开发; 5、负责PHP开发团队的培养工作。 任职要求: 1.本科及以上学历,计算机相关专业者优先 2.有3~5年以PHP为主的中型或大型互联网产品软件的开发及维护工作经验 3.熟悉一到两种常用PHP框架(laravel、CI、Zend Framework、ThinkPHP、Yaf等)

【黑马程序员】分布式缓存技术redis学习系列----深入理解Spring Redis的使用

【黑马程序员】分布式缓存技术redis学习系列----深入理解Spring Redis的使用 关于spring redis框架的使用,网上的例子很多很多。但是在自己最近一段时间的使用中,发现这些教程都是入门教程,包括很多的使用方法,与spring redis丰富的api大相径庭,真是浪费了这么优秀的一个框架。 Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SDR”,提供了基于jedis 客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑。 jedis客户端在编程实施方面存在如下不足: 1) connection管理缺乏自动化,connection-pool的设计缺少必要的容器支持。 2) 数据操作需要关注“序列化”/“反序列化”,因为jedis的客户端API接受的数据类型为string 和byte,对结构化数据(json,xml,pojo)操作需要额外的支持。 3) 事务操作纯粹为硬编码 4) pub/sub功能,缺乏必要的设计模式支持,对于开发者而言需要关注的太多。 1. Redis使用场景 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

我们都知道,在日常的应用中,数据库瓶颈是最容易出现的。数据量太大和频繁的查询,由于磁盘IO 性能的局限性,导致项目的性能越来越低。 这时候,基于内存的缓存框架,就能解决我们很多问题。例如Memcache ,Redis 等。将一些频繁使用的数据放入缓存读取,大大降低了数据库的负担。提升了系统的性能。其实,对于hibernate 以及Mybatis 的二级缓存,是同样的道理。利用内存高速的读写速度,来解决硬盘的瓶颈。 2. 配置使用redis 项目的整体结构如下: 在applicationContext-dao.xml 中配置如下: [AppleScript] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 0

相关主题