benchmark意思:参照点、检测
词语分析:
音标: 英 ['bentʃmɑːk] 美 ['bentʃmɑːrk]
n 标准检查程序;基准点;参照点
vt 检测
短语:
benchmark job 基准工作
benchmark package 基准程序包
benchmark statistics 标志性统计
benchmark data 基准数据
benchmark test 基准测试,基准程序测
benchmark program 基准程序
例句:
A benchmark is a test of the performance of a computer system
基准测试是对计算机系统的性能的测试。
The new fast computer is now the benchmark in the computer industry
这种新型快速计算机已经成为计算机工业的基准了。
Her outstanding performances set a new benchmark for singers throughout the world
她的出色表现给了全世界的歌手一个新的参照点。
The blocks were the same with the ultrasonic testing of wheelset in rolling stocks, the benchmark for the spot inspection was provided
该试块适用于在役轮轴超声波探伤,为现场检测提供了统一的探伤基准。
轻型数据库写入,更新,删除三项速度。
小米6的androbench测试通过软件手段加快存储速度,主要是随机读写速度。使用AndroBench对小米6的闪存进行了测试,小米6闪存读取速度为
除了AndroBench的跑分之外,小米6其他跑分如下图,其中GeekBench的单线程为1930分,多线程跑分6668分。
小米手机6是小米公司在2017年4月19日正式发布的旗舰机,成为国内首款配备高通骁龙835处理器的手机。
售价为:小米6+64GB版售价2499元,128GB版为2899元,陶瓷尊享版为2999元。
小米6采用了515英寸1080P护眼屏,搭载骁龙835处理器,辅以6GB内存和64/128GB机身存储;内置3350mAh电池,支持18W快充;后置双摄为1200万像素长焦镜头和1200万像素广角镜头,支持2倍光学变焦和四轴防抖,前置800万像素摄像头,支持自拍实时美颜。
此外该机还支持生活防水、多功能NFC,支持微信和支付宝指纹支付,网络方面采用2×2双路WiFi,支持双卡双待和全网通40。
性能测试的一些(我们用的)方法 2
1观测, 观测, 观测
-eBPF/Systemtap
-中间件自身提供观测
-USE
2测试工具校准
关于观测:
第一,推荐两种观测工具,eBPF或Systemtap;
第二,我们自己也做中间件,我们中间件自身是提供了一些观测指标的,向大家介绍一下这种方法;
第三,有一种线程是对于资源消耗的观察手段,即USE;
l eBPF *** 作系统级的观测
eBPF此处引用我的同事洪斌在今年的PHPCON的演讲,他的演讲主题是《MySQL性能诊断与实践》,其中详细的介绍了一下这个工具能给大家带来什么好处,列举其中几个,如:
1 延迟分布,比如MySQL请求的延迟,VFS延迟,Ext4的延迟,块设备的延迟等;
2 MySQL的文件IO压力分析;
3 临时表的生命周;
4 短连接的分析;
举一个例子,下图是eBPF的一个脚本,可观察MySQL的延迟,它会给大家列出延迟的分布曲线:
左边这一类是延迟,从零到一,二到三,四到七,它是指数级增长,单位是微秒,可以看到的是 压力打在数据库上的平均延迟,大量的数据压力在128微妙到255微妙之间,这个数据库的整体延迟还是不错的。
这张材料引用自Breddan Gregg的项目BCC,是eBPF的实用脚本集,它能观测 *** 作系统的方方面面,来帮助大家做压力观测。
l 中间件自身提供观测
*** 作系统的观测已经很全了,为什么中间件本身也要提供一些观测点,我们自己的中间件DBLE,是一个开源项目,GitHub上可以搜到,在DBLE中我们提供了这样的一种观测方法,如下:
DBLE把一个压力下来分成了六个阶段:
- 开始梳理
- 完成解析
- 完成路由分配
- 从数据库回收结果
- 后置处理
- 反馈处理
每个阶段提供了时间分布,这样我们可知道压力到底在中间件的哪一个阶段变慢。
比如在这个数据下,中间件的性能其实不错,是因为从第三个点到第四个点之间是后端数据库的处理,它占了整个处理时间的70%以上,所以在这种情况下可以判断后端数据库已经慢了,而不是中间件产生了什么太大的问题,所以中间件本身应该提供观测。
在这个项目的文档中, 我们把画了中间件的压力处理流程,其实对于大部分的中间件都是这样的,这张图在DBLE开源的文档上都可以找到。安利一下我们自己的中间件DBLE,大家有兴趣的话可以去看一下,文档齐全,分析方法也很齐全。
中间件本身的观测与 *** 作系统的区别在于: 中间件提供的视角是站在压力处理的视角来提供的, *** 作系统视角是站在资源的视角来提供,这两个视角缺一不可。如果只知道 *** 作系统说IO压力大,但是并不知道是哪个环节造成的压力大,那诊断瓶颈的成本会比较高 这就是为什么中间件要补充一个视角。
l USE
对于资源来说,强烈推荐《性能之巅》这本书,它介绍的分析方法叫USE,就是使用率、饱和度、错误率这三个指标就足以评估一个资源,IO资源也好,网络资源也好,足以评估一个资源现在的使用状况。
举一个例子,为什么使用率和饱和度得分开,如果现在 *** 作系统告诉我们内存占用率是100%,内存能不能再申请出来一块?是可以的,因为内存的使用率100%,其中比如说有50%是分给buffer和cache, *** 作系统会自动回收,这种情况下内存的使用率是100%,但饱和度并没有达到饱和,我们可以继续使用内存,直到它的饱和度上升到100%为止,这个内存就再也申请不出来了。
所以这就是为什么这本书将使用率和饱和度一定要拆开的原因。强烈推荐!
我们在DBLE中间件内部也提供了类似这样的观察机制,有点像Linux的Load average 我们对于它的每一个线程的使用都提供了一分钟、五分钟或者是十五分钟这三种使用率的评估。通过使用率就可以观察到在并发压力下中间件的运行状况到底是死在了一根线程上,还是每根线程上承载的压力差不多。之前关于线程公平性的问题也可以通过这个指标来诊断。
2测试工具校准
测试工具校准,举个例子,BenchmarkSQL,是Java版的TPCC,不少银行都在用它检验一个数据库或者是检验一个中间件能不能正常表现,但是我们碰到了这样一个问题:在测试压力中, 测试脚本要删一个记录,如果删不掉我就一直的删,一直删,但是这个工具在RR的隔离级别下造成一个死循环。
这个死循环是这样的:
第一句话它把auto commit设成0;
第二句select就会开启一个事务;
第三句话在这个压力下跑过一段逻辑之后再select看看这行数据还在不在,如果在就去删掉它。如果隔离级别是RR的,在第二三句之间把这行数据删掉,那么此时还能看到这行数据对吧 但之后的delete回应没有影响数据行,所以BenchmarkSQL就会陷入上面的这条死循环,看到数据, 删除, 没删掉, 然后就一直会去删,但是一直能看到这行数据,所以就会陷入这个死循环。
换句话说BenchmarkSQL,在RR的隔离级别下就会造成这样一个死循环。 很难想象这个工具是在银行客户中被大量使用 有一天项目经理告诉我,友商的中间件好着啊,然后我们就必须要去研究这款中间件,为什么它没有问题,原因是设置了RR的隔离级别, 它实际下到数据库的压力是RC隔离级别,RC隔离级别错在第三步看不到这条数据,它就不会跑下面这个循环,所以人家的中间件的错误将测试工具的错误抵消了。我们呼吁在测试时保持科学的态度
在开始演讲之前姜老师的笔记本在这个环境下工作是好的,我说能不能换我的笔记本做这个演讲,我就把线插入我的笔记本然后两边都显示不出来了 这个时候姜老师最应该说的一句话是什么呢?在我的环境下它是好的啊,但他并没有说,这是一个很科学的态度。
关于性能测试,我们推荐两个方法:
第一个方法,性能测试一定要去观测,观测的目的是什么,看到瓶颈,看到瓶颈的目的是什么?解决掉它以获得一个完全可以重复的正确的性能测试值来获得正确的结论。
第二个方法,测试工具一定要校准,业界常用的测试工具有很多,不要相信一些小众的测试工具,每一种测试工具都一定要校准。校准的话可以用多种测试工具同时去跑,去校准,或者是去分析测试工具的压力类型,刚才的观测过程就足以分析一个测试工具实际下发到后端的压力到底是什么,足以看到它的压力类型是什么,分析它的压力模式是不是正确的,以做测试工具校准。
所以在我们的公司ISO流程里边有一个规定是半年用这个测试工具做一次校准,因为测试工具也在面临着升级,我们面临的测试工具很多,这是我想讨论的第二个部分。
以上就是关于英语benchmark怎么翻译全部的内容,包括:英语benchmark怎么翻译、小米6,androbench测试后三项是什么意思、和中间件有关的测试怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)