qps

MySQL-性能优化概述

喜夏-厌秋 提交于 2020-01-29 09:35:52
文章目录 影响MySQL性能的几大因素 大表带来的风险 大事务带来的风险 影响MySQL性能的几大因素 通常来说 ,有以下几点 慢SQL (重点) 、 主机的硬件资源(CPU、内存、磁盘I/O等)、网卡流量等等 超高的QPS和 TPS QPS(Queries Per Second 每秒处理的查询量) : 假设处理一个SQL 需要 10ms , 1s 最多也就处理100个,那么QPS < = 100 ,如果 100ms处理一个呢? 那 QPS <=10 ,可以推断出SQL的执行效率队QPS的影响很重要。 根据经验, TPS(Transactions Per Second,事务数/秒,这个完整的事务包括了用户请求服务器,服务器内部处理,服务器返回信息给用户三个过程) QPS和TPS高,说明应用的负载较高. MySQL数据库中的QPS和TPS的计算方法 Questions = SHOW GLOBAL STATUS LIKE 'Questions' ; Uptime = SHOW GLOBAL STATUS LIKE 'Uptime' ; QPS = Questions / Uptime ----------------------- Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit' ; Com_rollback = SHOW GLOBAL

一种性能资源摸底的方案

空扰寡人 提交于 2020-01-25 07:34:31
通常线上的服务是一种多对多的结构,服务多机器部署,服务依赖多服务,例如下图:服务A部署了N台服务,即Service-A-1,Service-A-2,至Service-A-N,Service-A-VIP是服务A的统一入口(注:虚拟IP技术,Virtual IP,简写VIP);服务A可能依赖服务B、服务C、服务D等多个子服务;服务C与A一样同是一种多对多的结构,下面有子服务E、子服务F。 因此,我们在对上层的服务如服务A进行性能测试,就需要保证他依赖的子服务(服务B、服务C、服务D)能够正常使用。而标题中“性能资源摸底方案”是指如何巧妙安全地对线上上层服务进行极限性能摸底,并进行资源调优,合理分配服务器的数量。 安全QPS 首先需要介绍几个概念。在性能摸底时,我们部署一个新的服务Service-A-Test,它与线上的Service-A-1~N共享子服务B/C/D。需要强调的是,我们对 Service-A-Test性能测试,绝不能把他使用到的Service B/C/D给弄挂了。故将对Service-A-Test能压测的不影响 Service B/C/D正常运作的最大QPS定义为安全QPS,即:QPSsafe。 QPSsafe可以通过如下计算所得: ( QPSpeak - QPSperiod_max ) * N 其中,QPSpeak 是服务历史QPS峰值,QPSperiod

JMeter之一个简单的性能测试

瘦欲@ 提交于 2020-01-23 17:02:21
测试资源准备: 1)测试目标网站是 https://www.cnblogs.com/DeryKong/ 2)测试目的是该网站在负载达到20 QPS 时的响应时间。 QPS 解释   QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。   为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对fnng.cnblogs.com 和 tt-topia.rhcloud.com 两个博客首页请求,因此只需要使用HTTP Request Sampler 即可 建立测试计划   启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组   一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。   JMeter中 每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。  

TPS、QPS和系统吞吐量的区别和理解

一世执手 提交于 2020-01-20 20:21:38
一、QPS/TPS QPS:Queries Per Second的缩写,意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS: Transactions Per Second的缩写,也就是事务数/秒(每秒处理的事务数)。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。 TPS即每秒处理事务数,包括了 用户请求服务器 服务器自己的内部处理 服务器返回给用户 这三个过程,每秒能够完成N个这三个过程,TPS也就是N; QPS基本类似于TPS (有时候也会把两者当成一个),但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。 例如:访问一个页面会请求服务器3次,一次放,产生一个“T”,产生3个“Q” 二、系统吞吐量 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS)

JMETER TPS

∥☆過路亽.° 提交于 2020-01-20 01:17:35
上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。 1)测试目标网站是fnng.cnblogs.com 2)测试目的是该网站在负载达到20 QPS 时的响应时间。 QPS 解释   QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。   为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对fnng.cnblogs.com博客首页请求,因此只需要使用HTTP Request Sampler 即可。 建立测试计划   启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组   一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。   jmeter中 每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的

单机Qps上限是多少?

一笑奈何 提交于 2020-01-19 23:54:09
现在这个年代,你要是不懂高并发,你都不好意思说自己是搞互联网的! 一、什么是并发,什么是高并发 并发,两个及以上的行为一起发生,比如你一边吃饭一边看电视 高并发,多个行为(至于是多少,这个没有定数,你可以认为是100,1000)一起发生 二、要多久才能处理完这些请求 首先,我们需要明确两个基本点 1、处理每个请求需要耗费时间,哪怕时间很短 2、服务资源是有限的,不能一次性处理全部请求 我们可以假定总并发请求数量为10000,每个请求的处理时间为t秒,服务器一次性可以处理的请求数量为n个,那么处理完所有的请求需要用时为T T = (10000 / n ) * t 由此可知,如果一次性可以处理10000个请求,那么总耗时只需要t秒 如果一次性可以处理1000个请求,那么总耗时需要10t秒 。。。 三、什么是QPS 一秒内可以处理的请求数量称之为服务器的QPS。 上面我们计算了10000个请求的耗时,那么反过来计算每秒处理多少请求则 QPS = (1 / t ) * n 如果一次性可以处理100个请求,每个请求耗时100毫秒,则qps = 1000 如果一次性可以处理50个请求,每个请求耗时200毫秒,则qps = 250 所以QPS与单个请求处理时间以及服务器一次性可以处理多少请求是成比例关系的。 四、如何提高QPS 理论上很简单,最大化提高服务器一次性可以处理的请求数量

TPS与QPS的理解与查询方式

半腔热情 提交于 2020-01-19 23:53:34
TPS与QPS的查询方式: show GLOBAL STATUS LIKE 'questions' Questions 498258465 show GLOBAL STATUS LIKE 'uptime' Uptime 29610598 定义:QPS=Questions/Uptime QPS=16.83 ==================================== SHOW GLOBAL STATUS LIKE 'com_commit' Com_commit 2595110 SHOW GLOBAL STATUS LIKE 'com_rollback' Com_rollback 1545433 show GLOBAL STATUS LIKE 'uptime' Uptime 29610598 定义:TPS= Com_commit + Com_rollback/Uptime TPS=0.1398 来源: 51CTO 作者: cuijm51 链接: https://blog.51cto.com/11959825/2443684

性能测试入门(二)转:JMeter基础之一 一个简单的性能测试

人走茶凉 提交于 2020-01-19 19:56:16
转自:虫师博客 https://www.cnblogs.com/fnng/archive/2012/12/22/2829479.html 个人总结: 关键词:固定QPS限制,线程组设置 测试需求。 1)测试目标网站是fnng.cnblogs.com 和 tt-topia.rhcloud.com 2)测试目的是该网站在负载达到20 QPS 时的响应时间。 QPS 解释   QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。   为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对fnng.cnblogs.com 和 tt-topia.rhcloud.com 两个博客首页请求,因此只需要使用HTTP Request Sampler 即可。 建立测试计划   启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组   一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。   jmeter中 每个测试计划至少需要包含一个线程组

jmeter测试某个QPS下的响应时间-设置QPS限制

守給你的承諾、 提交于 2020-01-14 01:46:44
本次性能测试的需求中提到测试的目的是“了解博客的首页在负载达到20 QPS时的响应时间”,因此需要控制向博客首页发送请求的负载为20QPS。   一种可行的方法是逐步调整测试计划中的线程计算的数量以及为取样器(Sampler)添加定时器(Timer),以使HTTP取样器发出的请求的QPS保持在20个左右。但这种方法耗时耗力,需要经过多次尝试才能达到;另一方法,完全通过设置定时器来控制QPS,一旦取样器的响应时间发生改变(网络环境发生改变),就需要重新调整定时器的等待时间。   Jmeter提供了一个非常有用的定时器,称为Constant Throughput Timer (常数吞吐量定时器),该定时器可以方便地控制给定的取样器发送请求的吞吐量。   右键点击fnng.cnblogs.com ,弹出菜单(添加--->定时器--->Constant Throughput Timer)选择Constant Throughput Timer Constant Throughput Timer 的主要属性介绍: 名称 :定时器的名称 Target throughput(in samples per minute) :目标吞吐量。注意这里是每分钟发送的请求数,因此,对应测试需求中所要求的20 QPS ,这里的值应该是1200 。 Calculate Throughput based on

QPS和TPS的区别(自用)

我只是一个虾纸丫 提交于 2020-01-13 11:23:16
QPS和TPS的区别(自用) QPS : Queries Per Second 意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS :是 Transactions Per Second 的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。 来源: https://www.cnblogs.com/xiaoquan-blog/p/12186403.html