+ 首页>>技能>>性能测试>>内容

技能一次中间件结合业务的性能测试12次围观

开篇先扔一张图,下图是我本次测试对象的简单架构图:

一次中间件结合业务的性能测试

meeting



先简单介绍下整个流程吧,我们根据图中画的来说(下文中说到的节点之后会讲):

  • 1、首先浏览器发出一个http请求至会管后台
  • 2、会管收到请求后向zookeeper的一个节点(数据节点)中写入消息(一般就是某种请求的消息)
  • 3、会议平台watch到zookeeper中该节点数据变化便从中把这条消息取出,并进行处理。注意:异步消息(我们应用大部分是异步消息)
  • 4、平台在取出zookeeper节点上的消息后会立即往zookeeper中的另外一个节点(数据节点)上写入消息(该消息表示我平台已经收到来自你会管的消息了)
  • 5、会管也会watch到这个节点的变化进而去读取这个消息,然后将该消息放入xmpp服务器,由xmpp推送给浏览器(当然,其实这个消息并没有什么实际意义)
  • 6、另外还有就是等平台处理完一开始会管的请求消息后(3中的消息),会再次推送处理结果后的消息(比如某个人被静音了,就会推送一串json数据,其中有标识说这个人被静音了)到zookeeper的状态节点(OK,先不要管他什么数据节点和状态节点)
  • 7、然后会管watch到后读取该数据并进行一系列封装和处理
  • 8、数据处理和封装完成后将数据放入xmpp服务器
  • 9、由xmpp服务器推送给浏览器,从而实现浏览器的实时状态

OK,说到这里,基本的架构以及流程说完了。现在,有一个任务就是,会议管理界面上的某个按钮点击之后,“实时状态”感觉变化很慢。(比如我点击全部静音按钮,页面上与会人员的图标会显示出一个小图标表示被静音了,对,就是这个操作后,图标很久才显示出来,测试找出原因)
如果交给各位读者这样的测试需求(当然,这个根本算不上需求,我就这么被忽悠了),读者朋友们会怎么进行这项测试呢??

好了,各位,下面我给出我本次测试中采用的方法(如果觉得有更好的,请留言联系我!),先看图:

一次中间件结合业务的性能测试

解决方案

接下来我简单介绍下我这个类似“框架”的东西吧。

  • 1、首先初始化一个线程池
  • 2、线程一:使用smack包登录xmpp,监听所有消息,并过滤出我此次测试中需要的消息
  • 3、线程二:使用httpclient来模拟http请求并接收响应,并提取响应中的某些重要数据
  • 4、线程三:使用zookeeper的java客户端,连接我们的zookeeper服务器并设置节点的watcher
  • 5、线程四:收集前三个线程的数据,并附加时间戳

只要将我们四个线程放入线程池中运行,即可。
基本都已经介绍完了,如果有需要代码的童鞋也可留言回复哦(注:本次测试脚本有效代码量在2K行左右)~

+ 猜你喜欢...

===== 关于 DiggerPlus =====
DiggerPlus是国内新锐测试人垂直内容博客,专注于挖掘测试工具,普及测试技术,专注于测试人能力提升,博客上线后就受到广大测试人的热烈追捧;此外,DiggerPlus深度整合评测资源,揭秘科技数据和真相,让读者更懂科技,更好地把玩科技。 我们始终保持"独立,客观,严谨,优秀"的优良作风,努力为读者带来源源不断的优质内容。想访问更多酷毙的测试人网站?赶紧来DiggerPlus测试人网址导航看看吧!

===== DiggerPlus Team =====
DiggerPlus Team是DiggerPlus官方发起的团队,这是一群热爱科技,热爱测试,喜欢深度挖掘的热血测试人,他们是评测师,测试专家。 我们欢迎优秀的测试人加入DiggerPlus Team。 加入DiggerPlus,可以成为我们的认证Dper,认证Dper拥有DiggerPlus独一无二的专栏并得到个人展示。

===== DiggerPlus 官方读者群 =====
DiggerPlus官方读者群(一)

+ 关于本文作者

我也很想让世界变得更美好,可是上帝却不开放源代码。

的专栏 | 专栏作者 | 访问Kiven的主页

+ 已有13个评论

开源中国精彩推送

基于开源中国OpenAPI开发
  • Copyright © 2014 DiggerPlus. 97 queries in 7.277 seconds.
    使用合作网站账号快速登录,更多精彩等着您: 开源中国