AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

关注

评论

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

云直播平台的选型与使用

音视频专家-李超

【万字图文-原创】 | 学会Java中的线程池,这一篇也许就够了!

一枝花算不算浪漫

并发编程 jdk源码 线程池

关于工作的一点总结

李印

工作思路

时间管理的本质

史方远

职场 心理 成长

谈即时编译优化-以异常堆栈丢失为例

寻筝

编程入门整理

紫枫

读书笔记

MySQL实战四十五讲基础篇总结(四)

一个有志气的DB

MySQL 索引结构

leetcode练级-两数之和

幸福三寸日光

算法 LeetCode js

Tomcat学习分享

李印

tomcat

数据与广告系列二:计算广告和推荐系统

黄崇远@数据虫巢

数据挖掘 大数据 互联网 广告 推荐系统

ARTS week1

紫枫

ARTS 打卡计划

青春期的打油诗

李印

随笔

宏在C++中的替代解决方案

老王同学

c++ 模板 template

谈谈我的云笔记使用之路

读钓

学习 个人成长 写作

Algorithm week 1: Merge Two Sorted Lists

猫吃小怪兽

算法 链表 ARTS 打卡计划

MySQL实战四十五讲基础篇总结(六)

一个有志气的DB

MySQL 读写锁

谈谈控制感(9):提升控制感排名第一的武器

史方远

职场 心理 成长

从引用聊一聊 Java 垃圾回收

Rayjun

Java 引用 对象

ARTS打卡Week 01

teoking

android WebRTC

音视频会议系统-Janus的安装与布署

音视频专家-李超

音视频 WebRTC

鄙视链 & 全栈

伯薇

学习 能力提升 全栈

RabbitMQ-AMQP

云淡风轻

RabbitMQ

MySQL实战四十五讲基础篇总结(七)

一个有志气的DB

MySQL 性能

k8s 上运行我们的 springboot 服务之——我们的springboot能够在k8s上运行

柠檬

k8s istio springboot

使用 webpack 搭建一个简单的 React 脚手架

张张张小烦

react.js

其实,还是让我挺震惊的,程序员的换行率竟然高达 40%

非著名程序员

程序员 程序人生 自我思考

MySQL实战四十五讲基础篇总结(五)

一个有志气的DB

MySQL 索引

Java 数据持久化系列之JDBC

程序员历小冰

Java JDBC 持久化

Spring Security密码登录流程源码分析

读钓

源码分析 spring security springboot

ArrayList 源码分析

读钓

Java 源码分析 jdk源码

《陆蓉行为金融学讲义》 - 读后感

石云升

读书笔记 投资 行为金融学 理性 公平

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