写点什么

使用 AppDynamics 对 Healthcare.gov 进行性能分析

  • 2013-11-25
  • 本文字数:1053 字

    阅读完需:约 3 分钟

奥巴马医改和 healthcare.gov 网站不断涌现出的灾难性问题,以及遭受的抨击,引发了 AppDynamics ——它是一家业界领先的性能监控公司——对此撰写的一篇深度分析的技术文章。在文章中,AppDynamics 描绘了这样一幅图像:在构建网站过程中使用了幼稚可笑的开发计划。

AppDynamics 指出的缺陷涉及了应用服务器端和客户端的性能问题,以及内部 API 之间不一致的协议。

其测试的方式是基于 Firefox ,使用流行的浏览器定制和调试插件 GreaseMonkey ,注入 AppDynamics 的 JavaScript 代理。

通过分析观测到的响应时间指标,“你会发现,在服务器端和客户端,其综合表现都非常糟糕。”

首先从注册页面开始,分析强调了服务器端和客户端之间各自的响应时间。“该页面需要接近 71 秒来载入,其中 59 秒应该归咎于服务器端;而接近 12 秒应该归咎于客户端的数据载入和渲染。”

但分析否认道:“没有访问服务器端以测量响应时间,或是访问所有将服务器端与客户端连接在一起的网段来测量延迟,我们就无法完全确定为何客户端如此缓慢。我们都知道应该进行 JS 和 CSS 优化,但如果服务器端和 / 或网络连接非常缓慢,那么其影响就会呈现在在最终用户的浏览器中。”

下一步,依照网站的工作流测试了是个人档案页面,它在加载结束时呈现为空白页。这是由于某些不正确的 Ajax 请求:“这种糟糕的 Web 应用表现会把最终用户逼疯。尽管看起来页面成功载入了(至少对浏览器来说是这样),但实际上并非如此。”

接下来该文章解释道,Ajax 响应返回了 HTTP 503 状态码(“服务不可用”),意味着 HTTP 服务器能够接到请求,但由于服务器端的一些问题,无法对此做出任何响应。

文章总结的一些建议如下:

  1. 纠正功能整合错误。文章提出了这样的设想:“显然,在没有恰当的监控和测试的情况下, Healthcare.gov 就发布了。而这正是一个导致许多用户交互出现失败、抛出异常,以及保险公司收到不完整数据记录表的主要原因。”
  2. 识别并解决扩展性方面的瓶颈。“需要快速找出软件中的性能瓶颈,并对其进行调优。”

文章指出,“这并不是一个罕见的问题。我们发现许多公司一次又一次重蹈覆辙,他们最终找到我们寻求帮助,以解决其应用性能缺陷。”

在最后,AppDynamics 免费向奥巴马政府提出了一项有助于解决该网站问题的建议:“我们认为美国人民应该享有一套功能合适的、不会浪费他们时间的系统;而且现代化的、服务为导向的应用架构,需要一些针对在这些复杂环境中使用而特别设计的监控工具。有鉴于此,AppDynamics 将随时响应政府需求以提供帮助。”

查看英文原文: Healthcare.gov Performance Analysis by AppDynamics

2013-11-25 07:301428
用户头像

发布了 256 篇内容, 共 72.2 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

HTTPS工作原理以及Android中如何防止抓包

android 程序员 移动开发

Http详解

android 程序员 移动开发

IOS开发之——CABasicAnimation(95)

android 程序员 移动开发

JS Bridge实现

android 程序员 移动开发

HTTPS详解

android 程序员 移动开发

Java之JNI初步认识

android 程序员 移动开发

Java 创建型模式:单态模式,原型模式,工厂方法

android 程序员 移动开发

Jetpack Compose 1

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!

android 程序员 移动开发

JetPack现在都成了Android开发必备技能嘛?

android 程序员 移动开发

HashMap源码分析 —— 一篇文章搞定HashMap面试

android 程序员 移动开发

hook(1)入门篇

android 程序员 移动开发

Http 状态码详解

android 程序员 移动开发

Java的Url编码和解码

android 程序员 移动开发

Fabric.js 从入门到________

德育处主任

大前端 可视化 canvas 画布 FabricJS

Java线程(十):CAS

android 程序员 移动开发

Jaxb2 实现JavaBean与xml互转

android 程序员 移动开发

Jetpack系列(一) — Navigation

android 程序员 移动开发

JNI 与 NDK 入门(一)

android 程序员 移动开发

Koltin28

android 程序员 移动开发

IOC架构设计之Dagger2架构设计(三)

android 程序员 移动开发

JAVA-Android-多线程实现方式及并发与同步

android 程序员 移动开发

Jetpack系列——ViewModel

android 程序员 移动开发

Kotlin Lambda巩固

android 程序员 移动开发

Kotlin 协程使用手册

android 程序员 移动开发

hencoder学习自定义view(1)

android 程序员 移动开发

Java 网络:InetAddress类的应用以及通过Socket实现TCP编程

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!(1)

android 程序员 移动开发

Jetpack-在数据变化时如何优雅更新Views数据

android 程序员 移动开发

Koltin47

android 程序员 移动开发

IOS开发之——事件处理-hiTest(69)

android 程序员 移动开发

使用AppDynamics对Healthcare.gov进行性能分析_Java_Vikram Gupta_InfoQ精选文章