建设导航网站费用吗,铜陵做网站,企业所得税计算方法举例,中文网站开发工具平均值 vs 百分比
在考虑要性能测试的目标值时#xff0c;我们需要考虑用什么统计口径。大多数人都会首选平均值#xff0c;但在大多数情况下#xff0c;这个正确的#xff0c;但你也应该适当的考虑百分数。但你有可用性的要求#xff0c;作为性能测试的目标里肯定会有用…平均值 vs 百分比
在考虑要性能测试的目标值时我们需要考虑用什么统计口径。大多数人都会首选平均值但在大多数情况下这个正确的但你也应该适当的考虑百分数。但你有可用性的要求作为性能测试的目标里肯定会有用百分比作的要求。举个栗子“数据库请求的平均延迟必须小于10ms95%是请求必须小于100ms”。。。这里我省略了对“95%是请求必须小于100ms”的翻译说明我觉得中国的程序猿应该看得懂我翻译的那句话 12245581010111111152324255087 举个栗子上面有18个测试下来的值已经过排序了的的平均耗是17ms但有5%的访问超过50ms。如果你刚好只看平均值你一定会认为一切正常。但当你用了百分比作为指标你就会知道一些偶发的GC操作会影响到你的访问质量。
百分比是高可用性的最重要指标。如果你需要更高的可靠性就需要提出一个更高的百分数指标。通常来说99%已经很好了但你还会可能有99.99% 99.999%甚至更高的指标但通常来说决定采用这些指标数字取决于业务而不是开发。 这里作为翻译的我来补一些关于百分比的数据99% 允许每年服务器挂 3.65 天多让人尴尬的数据啊但我相信很多公司服务器不一定达能到这个要求99.9% 允许每年挂 8.76 小时1年出了一次较大的事故基本就用完额度了99.99% 允许每年挂 52.6 分钟1年只能出一次小的事故还得是能立即解决的99.999% 允许每年挂 5.26 分钟如果真的发生小于这个时间的事故对于用户来说一般很难有感知但是在淘宝双十一零点之后的一个小时内碰上的话 (__) 99.9999% 允许每年挂 31 秒写一个程序在一年的时间里只往控制台输出 hello world的同时还得祈求上帝保证机房不要断电 O(∩_∩)O 百分比是一个重要的指标是因为他可以帮助你了解你的系统即使通过平均值观察到你的系统一切正常但是只有90%的用户访问满足了目标也会意味着你还有10%的用户访问还有可以改进的空间。要解决这这部分请求问题需要的更多是商业上的考量因为这里会存在一个递减回报的问题因为提升最后的1%要花的时间不是一般的多。
对于上面的例子“有95%的访问请求满足了50ms以内的需求”但数据源来说不符合统计学上对样本数量的要求至少要要相同数量级的样本才行。要描述 99% 需要统计100个样本要描述 99.9% 则至少要1000个样本并以此类推。 再举一个作为翻译我的栗子话说当年做的页游上线在开服到了几百人500的时候玩家会觉得比较卡登陆服务器看了一下cpu和网络情况都不是很高30%)内存占也没啥问题。经过后来多方努力发现是用户首次进入游戏时为了数据安全这时候初始化数据库的操作是同步的而不是异步的。再加上dogse引擎的限定主逻辑是跑在单线程的队列上这就导致开服时主线程的阻塞会比较严重。每个玩家卡个200ms同时有3个玩家进入剩下的玩家自然会觉得卡了。 对于本书最重要的而起是要重复说三遍的观点是
测量测量测量
你要知道如果没有准确的测量在解决性能相关问题时你只能按照自己的经验和感觉来判断那里有性能问题。这会存在2个问题首先假设你的感觉是对的找到了一个性能问题的地方但你不知道当你修改了这里后对性能提升了多少其次我也不可能告诉你那里经常犯错了。举个栗子这个栗子我没看懂在分析一个应用占用里很多非托管内存的问题我们最初假设是认为在某处加载了一个很大的数据。随后安排开发人员做排查工作通过禁止某些组件的加载还调试了转储过程dump)里堆的数据。结果让我们很吃惊大部分内存的开销来自于组件Assembly加载而不是我们之前所想的数据加载
如果没有工具做测量那么性能优化就是没意义的。性能优化是一个连续的过程你需要有自己的工具来对这个过程做记录。下面的章节将介绍一些常见的工具。恩大部分是免费的有一款收费的但是是vs专业版附带的所以你懂的。
相关文章
[翻译]编写高性能 .NET 代码 第一章性能测试与工具 -- 选择什么来衡量
原文地址http://www.cnblogs.com/yahle/p/6530827.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注