Performance Metrics(性能指标1)

Performance Metrics(性能指标)

在我们开始旅行本书之前,我必须先了解本书的性能指标和希望优化后的结果,在第二章中,我们探索更多的性能检测工具和性能指标,可是,您得会使用这些工具和明白这些性能指标的意义。

      由于业务场景的不同和操作方式的不同,应用程序的性能指标情况也不一相同。有时,我们的应用程序规定了重要的性能指标,如webserver需要承受数百万用户的并发请求而建立了服务集群和系统均衡负载,以保证应用体系的架构可伸缩的,但是我们看到无数的例子是应用程序重新设计以后,run压力测试通过后在生产环境应用时确失败了。

  在我们的经验看来,帮组您了解系统的性能目标和环境限制并提高性能,我们有在过去几年中解决这些问题的列子:

  我们发现一个web服务器数据托管中心的严重的性能问题,测试工程师使用数据中心4mbps共享造成了延迟,他们不了解关键性能指标,他们浪费了很多时间在调试实际上是完美运作的web服务器性能问题上,我们能在提高性能并在富UI应用上进行调优,我们重新调整了 CLR\GC的时间分配,优化了UI滞后。我们为了提高编译效率,解决了微软一个磁盘驱动程序缺陷。我们通过优化wcf序列化机制,挺高了消息交换90%的时间,为了提高可伸缩性,我们通过优化应用程序之间的依赖关系大大减少了其启动时间。

  这些例子从低功耗的触摸设备到高功耗的图形处理器通过数据中心展示微妙的交互性特征,在这一章中,我们简要的探究典型现代软件的性能指标和目标,下一章中我们将介绍软件性能测量标准以及如何提高应用程序的性能。

Performance Goals(性能目标)

  应用程序的性能目标取决于其所服务的领域和服务的生命周期,当我们完成需求分析的时候,我们应该有一个清晰的性能目标,我们简单的介绍几个性能目标的指导方针,这些案例可能适用于您的应用软件。

  首先,请看下面这些没有良好性能的例子:

  • 当很多用户同时访问购物车时
  • 用户分配不合理的内存
  • 单个服务器查询很快,但是多个服务器查询则负载至满

 

  开发人员一般过于主观的解锁性能目标会和团队的其他人员难以达成共识,业务分析师认为100000个并发是合理的,而技术团队知道可用的硬件无法支持这个并发,开发人员可以考虑500ms的延迟响应,而UI体验专家则认为这是不合理的,性能目标表示为可量化的性能指标,良好的性能指标包括:

  • web一面响应时间不应该超过300ms
  • 购物车应该支持5000个并发
  • 每个用户的session分配的内存不应该超过4kb
  • 数据库服务器的I/O不应该超过70%,在不超过10台应用服务器访问的情况下响应时间不应该超过75ms。

  

  我们简单的列了一个性能目标的表格

 

 

  当我们明确性能目标以后,我们的测试盒性能优化工作才能得以进行,在下一章中,我们将讨论如何建立测试环境和熟悉性能指标。

  

  

转载于:https://www.cnblogs.com/LiJianBlog/p/3906471.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可能是.NET领域性能最好的对象映射框架——Mapster

我之前文章提到过 MediatR 的作者 Jimmy Bogard,他也是大名鼎鼎的对象映射框架 AutoMapper 的作者。AutoMapper 的功能强大,在 .NET 领域的开发者中有非常高的知名度和使用率。而今天老衣要提的是另外一款高性能对象映射框架:Mapster——它轻…

Avalonia跨平台入门第一篇

作为一枚屌丝程序员来说最大的爱好就是撸代码,有时候根本停不下来(沉迷工作,无法自拔);因为一直都是WPF开发,后面也摸索了一下Xamarin的东西;这不又看到其他人又在搞什么跨平台;我也是手也很痒痒;就像刚开始摸索Xamarin一样,想又不知如何下手;这不再次迈出了第一步去摸索Avalon…

三角形带优化库nvtrisrip的使用

nvtrisrip是NVIDIA提供的一个开源优化库,这个库可以将三角形顶点索引数组转换为三角形带索引数组。可以极大的提高渲染速度。NVIDIA这个库的官方地址是:http://www.nvidia.com/object/nvtristrip_library.html不过这里代码不全也不够新,推荐从…

angular-ui-tab-scroll

2019独角兽企业重金招聘Python工程师标准>>> A scrollable tab plugin intended for scrolling UI Bootstrap tabset. 功能介绍:http://npm.taobao.org/package/angular-ui-tab-scroll 下载地址:https://github.com/VersifitTechnologies/ang…

为什么?

为什么80%的码农都做不了架构师?>>> 为什么总有那么多的难以忘怀?或许这是前世我们欠下的债吧为什么总觉得别人家的好?却忽视了身边最真实的温暖为什么总是固执的坚持着虚幻的前景?因为就算再小的梦想也有实现的权利为…

抽象类和接口类的区别

2019独角兽企业重金招聘Python工程师标准>>> 一、 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。 2 .抽象类不能被直接实…

浅谈C#字符串构建利器StringBuilder

前言在日常的开发中StringBuilder大家肯定都有用过,甚至用的很多。毕竟大家都知道一个不成文的规范,当需要高频的大量的构建字符串的时候StringBuilder的性能是要高于直接对字符串进行拼接的,因为直接使用或都会产生一个新的String实例&#…

linux之如何在任意目录执行我常用的脚本文件

1、问题 比如我们在ubuntu上开发Android的时候,经常会用到jadx、 pidcat.py ,但是我们希望在任何目录都能执行这些命令, 如果不知道pidcat.py是什么东西的,可以先百度 2、解决方式 1)如果是一个脚本文件,比如pidcat.py这个脚本&…

RTMPdump(libRTMP) 源代码分析 10: 处理各种消息(Message)

2019独角兽企业重金招聘Python工程师标准>>> 注:此前写了一些列的分析RTMPdump(libRTMP)源代码的文章,在此列一个列表:RTMPdump 源代码分析 1: main()函数RTMPDump(libRTMP&#xff…

Dapr 助力应用架构的可持续性

在文章亚马逊可持续软件工程实践[1] 有这么一段我们为什么要关注“可持续发展”:联合国于 2015 年制定了一个全球框架《巴黎协定》[2],随后各缔约国纷纷制定了“碳中和”路径和目标,对地球环境的健康发展做出承诺。今年两会,中国也…

计算机无法创建新文件夹,无法创建文件,教您无法新建文件夹怎么办

在使用电脑的过程中,都遇到过电脑出现各种故障的情况,让不少的用户感到懊恼的时刻时有发生,造成非常大的不便,该怎么解决这个烦恼呢?下面,小编给大家分享无法新建文件夹的解决经验。相信在使用电脑是一定会…

我的技术回顾那些与ABP框架有关的故事-2018年

我的技术回顾那些与ABP框架有关的故事-2018年今天准备想写18年的,但是发现我从19年开始就在逐渐淡出社区,因为生活、工作的缘故吧。所以也没什么特别罗列的,就合并下吧。时间真的是可以磨平太多东西了,如果我不去整理资料的话&…

wpa_supplicant 无线网络配置

为什么80%的码农都做不了架构师?>>> 安装wpa_supplicant后,修改服务,编辑 /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service 将下面的 [D-BUS Service] Namefi.epitest.hostap.WPASupplicant Exec/s…

Avalonia跨平台入门第六篇之Grid动态分割

前面玩耍了ListBox多选,今天在他的基础上对Grid进行动态分割;这个效果其实在Xamarin中已经实现过了;其实都没太大区别;直接看效果吧:在ListBox中选择了具体的布局后进行Grid布局分割:具体分割的方法和原来在移动端没啥区别:下一篇就是控件的拖放了;最终简单的效果先这样吧;以后…

使用ABBYY FineReader进行自动图像预处理

2019独角兽企业重金招聘Python工程师标准>>> 扫描图像和数码照片中常见的扭曲文本行、歪斜、噪声和其他缺陷可能会降低识别质量,ABBYY FineReader可自动消除这些缺陷,也允许手动消除。 ABBYY FineReader有几个图像预处理功能,如果…

Avalonia跨平台入门第五篇之ListBox多选

前面我也提前预告了今天要实现的效果;不过中间被卡了一下;今天赶紧去弥补上次要做的效果,其实在WPF效果中已经实现过了,看效果吧:ListBox的前台布局代码:使用的附加属性和WPF好相似:子项模板(绑定写法简化了好多):多值转换器(少了一个ConvertBack):最终简单的效果先这样吧;以后…

Android之android.os.NewWorkOnMainThreadException解决办法

1、问题 用别人提供的的sdk的Demo出现android.os.NewWorkOnMainThreadException 2、解决办法 网络请求开启一个线程请求或者开启异步任务都行 3、总结 1、 之前就看到过这种android.os.NewWorkOnMainThreadException异常,时间很久了,自己也没反映过来&a…

金蝶K/3 WISE 12.3订单跟踪SQL报表

金蝶K3一直缺少完整的跟踪报表,所以我们开发了一张完整的跟踪报表,通过查询分析工具直接生成。代码(WIN2008 R2SQL 2008 R2环境,K3 WISE 12.3):select t1.fname1 客户,t1.fname2 业务员,t1.f_102 款号,t1.f…

开源绘画应用 Pinta 已移植到GTK 3和.NET 6

Pinta [1]是一款开源绘画应用,适用于 Linux、Windows 和 macOS。你可以用它来进行自由手绘/素描。你也可以用它在现有的图片上添加箭头、方框、文字等。年初发布了 Pinta 2.0.2 版本,这是我看到的第一款桌面的dotnet6 和 gtksharp的 应用。Pinta是一个小…

Druid源码分析系列1:dataSource.init()的准备工作

2019独角兽企业重金招聘Python工程师标准>>> 本节,讲解 dataSource.init(); 打断点在 stop in com.alibaba.druid.pool.DruidDataSource.init 好,开始研究代码 public void init() throws SQLException {// 首先确定没有initedif (inited) {r…