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。

  

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

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

  

  

Performance Metrics(性能指标1)的更多相关文章

  1. Performance Metrics(性能指标2)

    这一章我们将讨论性能指标的优化(如CPU利用率和执行时间的优化是如此的重要),下面是一章本书性能优化的章节示意图: 不同的指标都适合于不同的性能测量领域,如数据库访问时间的性能测量可能不适合评价一个客 ...

  2. Zipline Risk and Performance Metrics

    Risk and Performance Metrics 风险和性能指标 The risk and performance metrics are summarizing values calcula ...

  3. 7 Java Performance Metrics to Watch After a Major Release--转

    原文地址:https://dzone.com/articles/7-java-performance-metrics-to-watch-after-a-major-1 The Java perform ...

  4. 使用Metrics.NET 构建 ASP.NET MVC 应用程序的性能指标

    通常我们需要监测ASP.NET MVC 或 Web API 的应用程序的性能时,通常采用的是自定义性能计数器,性能计数器会引发无休止的运维问题(损坏的计数器.权限问题等).这篇文章向你介绍一个新的替代 ...

  5. Performance Monitor4:监控SQL Server的IO性能

    SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...

  6. Performance Monitor2:Peformance Counter

    Performance Counter 是量化系统状态或活动的一个数值,Windows Performance Monitor在一定时间间隔内(默认的取样间隔是15s)获取Performance Co ...

  7. 如何监控Redis性能指标(译)

    Redis给人的印象是简单.很快,但是不代表它不需要关注它的性能指标,此文简单地介绍了一部分Redis性能指标.翻译过程中加入了自己延伸的一些疑问信息,仍然还有一些东西没有完全弄明白.原文中Metri ...

  8. Performance Monitor2:性能计数器

    性能计数器(Performance Counter)是量化系统状态或活动的一个数值,Windows Performance Monitor在一定时间间隔内(默认的取样间隔是15s)获取Performa ...

  9. 整理AI性能指标

    整理AI性能指标 Sorting out AI performance metrics 推理性能的最佳衡量标准是什么? 在人工智能加速器的世界里,对于给定的算法,芯片的性能经常以每秒万亿次的运算量(T ...

随机推荐

  1. [App Store Connect帮助]三、管理 App 和版本(5)添加平台以创建通用购买

    您可以为 App 添加一个平台以创建通用购买.例如,为现有的 iOS App 添加相关的 Apple TVOS App,从而将该 Apple TVOS App 和 iOS App 一同出售. 与创建新 ...

  2. [Swift通天遁地]二、表格表单-(8)快速实现表单的输入验证

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. jquery实现图片预加载提高页面加载速度

    使用jquery实现图片预加载提高页面加载速度和用户体 我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题 呢?首 ...

  4. 如何获取select控件的option值和Value?

    案例: <select id="paId" class="text3">                    <option value=& ...

  5. Unicode ,UTF-8,assic, gbk, latin1编码 的区别

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte). ...

  6. Hadoop Hive概念学习系列之hive里的视图(十二)

    不多说,直接上干货! 可以先,从MySQL里的视图概念理解入手 视图是由从数据库的基本表中选取出来的数据组成的逻辑窗口,与基本表不同,它是一个虚表.在数据库中,存放的只是视图的定义,而不存放视图包含的 ...

  7. #2028 Lowest Common Multiple Plus

    http://acm.hdu.edu.cn/showproblem.php?pid=2028 应该是比较简单的一道题啊...求输入的数的最小公倍数. 先用百度来的(老师教的已经不知道跑哪去了)辗转相除 ...

  8. 认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别

    点击window---->preferences---->配置的tomcat---->JDK,在Optional Java VM arguments:中输入 -Xmx512M -Xm ...

  9. 【技术累积】【点】【java】【23】super以及重写重载

    重写和重载 重写是继承之后的Override 重载是同一个方法,有着不同的入参出参这样子: super 当需要在子类中调用父类的被重写方法时,要使用super关键字. 当然只要是调用父类的方法,都会用 ...

  10. IOS: Xcode报 Undecleared selector Warning错误的解决方法

    Undecleared selector  Warning 是编译器报的,特别是升级到IOS7 默认PROJ设定的时候,会出现这种问题,如果从代码上看语法完全没有问题,那么就可以在Xcode里面设置禁 ...