热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序服务器压力测试,微信小程序性能测试之jmeter踩坑记录(四)

------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

go单机压力测试

压测go单机时,采用了2台同规格的8核16G服务器作为发起压力的A机,A机使用Jmeter工具发起压力请求。1台同规格的8核16G服务器作为接受压力的B机。

此外,由于登录接口会使用用户code来调用腾讯的openid接口,但是目前只有几个用户code,因此无法模拟不同的用户海量登录,故此次测试采用了1台同规格的8核16G服务器作为C机来模拟腾讯openid接口以供B机的调用。测试时,B机随机生成不同的用户code发送给C机,C机再据此返回不同的openid给B机。

go单机压力测试结果

当B机达到满负载(CPU 90%~100%)时,2台A机的压力测试结果如下

A机一:

9e92f6f15c624b28cb695078118ee01a.png

A机二:

cf201dfe3bf72630e15a426affecc51c.png

由上图可知,go登录接口的最大并发数为11000RPS左右。

go单机压力测试结果分析

go登录接口最大并发数为11000RPS&#xff0c;但由于此次是采用模拟腾讯接口的方式&#xff0c;延时会比实际低一些&#xff0c;若实际采用腾讯接口&#xff0c;换算后并发数约为9000RPS左右。所以&#xff0c;当服务器在正常符合范围内(CPU <&#61; 70%)运转时&#xff0c;go登录单机并发数应为9000*70%&#61;6300PRS左右。而目标登录并发数为500000RPS&#xff0c;故共需要500000/6300&#61;79.36台8核ecs服务器即可达到登录的需求。

压力测试结论与建议

结论1&#xff1a;满足当前每秒50万登录并发&#43;每秒1.5万订单&#xff0c;至少需要512G以上Redis缓存和60核MySql数据库。

结论2&#xff1a;当前php单机性能为最大每秒处理2000请求数。

结论3&#xff1a;系统满足横向线性扩展。

建议1&#xff1a;如不能修改应用情况下&#xff0c;应至少使用250台8C16G ECS&#43;1T版Reids&#43;60核RDS&#xff0c;建议400台8C32G ECS。

建议2&#xff1a;修改应用&#xff0c;提升单机性能&#xff0c;如单机性能提升10倍至20000&#xff0c;则最少只需25台ECS。

建议3&#xff1a;由于php本身并不适合高并发场景&#xff0c;可以考虑使用其它高并发框架&#xff0c;如Golang的echo框架等。

标签&#xff1a;登录,单机,微信,接口,并发,测试,go,jmeter

来源&#xff1a; https://www.cnblogs.com/qgc1995/p/14111165.html



推荐阅读
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了在Oracle数据库中创建序列时如何选择cache或nocache参数。cache参数可以提高序列的存取速度,但可能会导致序列丢失;nocache参数可以避免序列丢失,但在高并发访问时可能导致性能问题。文章详细解释了两者的区别和使用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了关于smarty自定义缓存名的解决思路,通过放弃生成缓存,直接生成html的静态页面来提高速度。同时提供了一个参考链接供参考。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
author-avatar
c_陈可儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有