编程的内核是数学,而测试的本质是计算,专业名词叫容量预估,而测试的大体就是用程序模拟程序,检测程序的正确性,有两个点需要注意,QPS最佳值和系统接收最大值,根据测试数据的反馈,针对测试的现象和反映进行优化。
在所有的开发准备就绪的时候,开始准备和上线有关的事情:测试和服务部署,测试要注意代码的逻辑严谨、代码运行的正确,服务稳定,所有的一切都需要用数据做指标,所有的计算机编程归根结底都是数学。
(资料图片)
jmeter自带的thread group非常简单。 一个thread 代表一个vuser,那么我们如果需要多少用户并发,设置多少线程数即可。ramp-up period, 本人理解是多少时间从0个 vuser 上升到您指定的vusers数。从这些参数可以看,非常简单。但不能设置测试的时间,这一点不是特别善解人意。不过还好我们有jmeter plugins, 带的thread group 添加了这个功能。
Number of Threads(users) //并发线程(用户)数Loop Count //重复执行次数
右键单击左侧导航树中的 Test Plan,选择 Add > Threads(Users) > Thread Group ,右键单击 Thread Group,选择 Add > Sampler,可看到以下新增的采样器选项,具体说明如下。
WebSocket Open Connection// 建立一个 WebSocket 连接WebSocket Ping/Pong // 控制帧,发送 ping 并接收 pongWebSocket request-response Sampler //发送和接收文本或二进制 WebSocket 帧WebSocket Single Write Sampler// 发送文本或二进制 WebSocket 帧WebSocket Single Read Sampler// 接收文本或二进制 WebSocket 帧WebSocket Close // 关闭 Websocket 连接
添加聚合报告,执行测试,结果如下图。
1.随机读取用户表里1000个用户,进行压力测试
select user_id from user where user_status = 1ORDER BY RAND() limit 1000;
2.构造测试需要的数据(10w条为例)
drop procedure idata;delimiter ;;create procedure idata()begin declare i int; set i=1; while(i<=100000 )do insert into t2 values(i, i, i); set i=i+1; end while;end;;delimiter ;call idata();
3.查询最大链接数命令
show variables like "%max_connections%";
4.查询链接线程的状态命令
show processlist;
5.检测服务器Mysql链接状态的命令
netstat -ant|grep ESTABLISHED|grep 3306 | wc -l
请求接口的Demo,主要的思考点在于用户访问具有随机性,模拟数据时尽量做到接近真实场景,代码如下:
$str = "62210,45783,36209,146502,24599,168338,166511,1917...";$uidTestArr = explode(",",$str);foreach ($uidTestArr as $uid){ if(isset($uid) && intval($uid) > 0){ $json = file_get_contents("http://open.stark.com/login/gettoken?uid=". $uid); $json = json_decode($json,true); $temp[] = [ "uid" => $uid , "token" => $json["token"] ]; }}$index = rand(0,count($temp) - 1);$randData = $temp[$index];//随机执行结果/**Array( [uid] => 166511 [token] => f46540f11a40afeb9998cbe76661ec8234a87054)*/
Crontab的测试代码Demo,先灌入测试数据,考虑的是Crontab的实际吞吐能力,优化计划任务的执行间隔,使用Curl和shell_exec实现,执行结果,返回数据 {"code":200,"result":[],"msg":"OK"}
$str = "62210,45783,36209,146502,24599,168338,166511,1917,135799,8326...";//去掉可能存在的换行和空格$str = str_replace(array(PHP_EOL, " " ,"",$str));$testUsers = explode(",",$str);for ($i=0;$i<10000;$i++){ $index = rand(0,99); $uid = $testUsers[$index]; $msg = "{\"rid\":225,\"uid\":".$uid.",\"top_rid\":225,\"module\":\"novel_chapter\",\"module_name\":\"1022 last dance \u7b2c13\u7ae0\",\"module_id\":1019712,\"module_nid\":163961,\"comment_uid\":268,\"comment_nickname\":\"\u6d4b\u8bd5\u5c0f\u5b9d\u8d1d\",\"content\":\"\u4f60\u597d\u554a\",\"gift_id\":0,\"gift_name\":\"\",\"gift_number\":0}"; $url = "http://msgdev.stark.com/api/comment/message"; $json = shell_exec( "curl -d "uid={$uid}&msg={$msg}" {$url} " ); echo "i:".$i.",json:".$json.PHP_EOL;}
在临时执行或停止计划任务,在执行前加入时间毫秒的时间戳,可以打印代码进行耗时计算,代码如下:
//返回当前的毫秒时间戳function msectime() { $stamptime = microtime(); $arr = explode(" ",$stamptime ); $msectime = sprintf("%.0f", (floatval($arr[0]) + floatval($arr[1])) * 1000); return $msectime;}
第5点特殊说明有一点事特别需要强调的,不用被所谓的100w或者1000w流量的标题吓倒,比如1000w/h的访问量,Qps就变成了27777/s,每个用户请求的热门接口30个,这才是测试的真相,关键地方使用内存数据库进行加速,障碍就迎刃而解了:
10000000 / 60 / 60 / 30 = 925/s
标签:
精彩推荐
截至2023年3月9日收盘,中国海油(600938)报收于18 2元,上涨0 44%,换手率3 98%,成交量69 62万手,成交额12 69亿元。
1、《全国普通高等学校毕业生就业协议书》,简称“就业协议书”,俗称“三方协议”,是由教育部高校学生...
1、去百度文库,查看完整内容>内容来自用户:儒雅的甘为人梯3雨的四季1 研读文章,体会作者用笔之细腻,...
政府工作报告提出,把恢复和扩大消费摆在优先位置。多渠道增加城乡居民收入。稳定大宗消费,推动生活服...
同花顺金融研究中心3月9日讯,有投资者向黑芝麻提问,您好董秘,前一段看到公司说今年天臣18GW动力电池...
1、亲!请留下邮箱!我有文包哦!。本文到此分享完毕,希望对大家有所帮助。
近日,一个“大学四年挣到上百万”的创业经历火了。网上常常流传“成功学真经”,教导如何轻松实现“财...
1、我们首先在电脑上打开excel表格。2、2、选择一部分的单元格。3、3、右键点击选中的单元格,点击设置...
1、首先我们搜索一下淘宝,进入淘宝官网首页,然后右边会出现一个“免费注册”的字样。我们单击选择它。...
23年德国羽毛球公开赛,中国队在男单赛场一共派出了石宇奇,陆光祖、赵俊鹏和李诗沣四名选手,其中赵俊...
1、窦性心律即正常的心脏节律,窦房结位于右心房和上腔静脉的连接处,窦房结产生冲动,通过心房、房室交...
1、《绝世唐门》是湖南少年儿童出版社出版于2012年12月的一本玄幻异界网络小说,作者是唐家三少。2、是...
父亲去世留下千万豪宅,姐姐妄想独占,却不知10岁妹妹手段不一般,离婚,怀孕,相认,豪宅,二婚老伴
广东省佛山市顺德区德胜东路。顺德职业技术学院位于广东省佛山市,是一所经教育部批准成立、广东省人民...
1、最热闹的地方购物中心商业中心应该是春熙路,属于锦江区。2、锦江区是成都市11个市辖区之一,成立于19...
1、PDL,属于通信技术领域,是一种在利用光纤传输信号过程中存在的信号损耗。2、使用仪器可以进行测量,...
JBLBAR1300X真无线后环绕家庭影院支持11 1 4杜比全景声,拥有1170W总功率,为用户演绎新一代「浸化论」。
众所周知英雄联盟诞生过很多伟大的选手,比如三冠王Faker和亚运会冠军Uzi等知名选手,为了能让观众记住...
1、云南民族村位于云南省昆明市西南郊的滇池之畔,占地面积89公顷,是反映和展示云南二十六个民族社会文...
【本文来自《姚洋:今年中国经济面临三大挑战》评论区,标题为小编添加】作为民营中型企业的负责人,去...
评剧是我国华北、东北一带的主要戏曲。评剧是汉族传统戏曲剧种之一,也是广大人民所喜闻乐见的剧种之一...
阿坝州新型冠状病毒肺炎疫情:3月8日阿坝州疫情最新消息今天数据统计情况通报,截至3月8日02时30分阿坝州...
3月7日国家外汇管理局统计数据显示,截至2023年2月末,我国外汇储备规模为31332亿美元,较1月末下降513...
1、美式音标,也称K K 音标,作者为JohnS Kenyon u0026ThomasA Knott。2
欧冠16强进8次回合即将打响,英超四强首回合一场未胜,但是却一边倒认为他们将翻盘晋级8强;意甲四大豪...
资讯News
06-20
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
聚焦Policy
当好农民工的“护薪人” 近日,罗某等7名农民工在收到被拖欠的工资后,纷纷打电话向江西省南昌市...
“通讯录里所有人都知道我欠钱了” □ 本报记者 韩丹东 □ 本报见习记者 张守坤 ...
大连宝马车撞人案肇事司机被判死刑 本报讯 记者韩宇 10月29日,辽宁省大连市中级人民法院一审...
医院财务迷上网络赌博输光5000万元公款 □ 本报记者 马维博 □ 本报通讯员 汪宇堂 曹...
辊环车削 雕琢毫厘(工匠绝活) 【绝活看点】 23年来,雷虎始终扎根一线,改进钢材轧制工艺...
交警严查超标电动自行车挪用“白牌” 截至昨晚6时,处罚电动自行车违法行为共计6585笔;下一步将...
明起寒潮来袭 北方气温普降10℃以上 中央气象台预计,本周日北京平原地区最低气温降至-4℃左右...
多种蔬菜价格降幅达五成 包括菠菜、蒿子秆等 预计本月中旬蔬菜恢复供需平衡 本报讯(记者...
北京周日最低气温或达-4℃ 本报讯(记者 赵婷婷)北京青年报记者昨天从中央气象台获悉,新一股...
昌平一家四口确诊新冠肺炎 天通北苑第二社区升级为中风险地区 朝阳两涉疫校区及16所学校停课 ...