写点什么

使用 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:301845
用户头像

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

关注

评论

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

PHPStrom安装Xdebug及使用

书旅

php Xdebug PHPStrom

一、GraphQL,你准备好了么?

星期35

面试官问:运行时的内存布局

Java小咖秀

Java JVM

MECE分析法

陈磊@Criss

测者陈磊

技术分享丨数据仓库的建模与ETL实践技巧

华为云开发者联盟

数据仓库 数据分析 数据模型 GaussDB ETL算法

python操作word文件

wjchenge

Python word

实战分享丨MySQL 与Django版本匹配相关经验

华为云开发者联盟

MySQL 数据库 django 华为云

如何有效提高技能?我推荐《刻意练习》

老胡爱分享

个人成长 练习

了解JS压缩图片,这一篇就够了

华为云开发者联盟

Java html5 vue.js 大前端 npm

最受 IT 公司欢迎的 30 款开源软件

程序员生活志

开源

【得物技术】乘风破浪—优雅代码四部曲

得物技术

Java 代码规范

初识WebRTC

soolaugust

WebRTC

当代一线城市年轻人工作生活实录(HR篇)

Philips

Java 敏捷开发 快速开发 .net core

面经手册 · 第5篇《看图说话,讲解2-3平衡树「红黑树的前身」》

小傅哥

Java 数据结构 小傅哥 红黑树 2-3树

Docker 禁止美国“实体清单”主体使用,Docker 开源项目应不受影响

程序员生活志

Docker 互联网热点

架构到底是什么?

架构精进之路

架构

学过 C++ 的你,你不得不知的这 10 条细节

小林coding

c c++ 编程 编程之路

C++ 借来的资源,如何还的潇洒?

小林coding

c c++ 编程 编程习惯 内存管理

C++ 互斥锁和条件变量的性能比较

小林coding

c c++ 编程 并发编程

对于一款软件而言,完备的功能固然重要,但交互体验也不该被忽视

Philips

Java 敏捷开发 UI .net core 交互设计

HTTP方式文件分片断点下载

xcbeyond

Java 断点续传 下载 Range

KPI考核存在的问题

石云升

读书笔记 考核 KPI 数字化管理

昨梦记

波波夫

当代一线城市年轻人生活工作实录(蓝领打工仔篇)

Philips

Java .net 敏捷开发 快速开发 MES系统

二叉树-四种遍历方式的 Java 实现

多选参数

二叉树 遍历

5步教你完成小熊派开发板贴片

华为云开发者联盟

后端 开发工具 华为云 小熊派 开发板

推荐一款可视化+NoteBook工具

数据社

大数据 可视化 Zeppelin notebook

高并发,你真的了解吗?

华为云开发者联盟

负载均衡 软件 高并发 操作系统 服务器集群

年轻的樵夫哟,你掉的是这个免费 8 核 4G 公网服务器,还是这个随时可用的 Docker 实验平台?

newbe36524

Docker 微服务 .net core ASP.NET Core

AI+云,数字金融掘金客户微细分

人称T客

我们是如何逐渐变普通的?

架构精进之路

个人成长 认知提升

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