摘要
随着移动互联网的迅猛发展,现在APP应用数量的急剧增加,应用商店入口也在增加,单个APP获取用户的难度越来越大,成本上也越来越高,而如此高难度高成本获取到的用户却分分钟因为使用体验不佳而流失,给公司造成损失。例如,有一组网络监控数据显示,监测数据表明,连接响应超过 1s,5%的用户选择离开;连接响应超过3S,17%的用户选择离开;连接超过5s,27%的用户选择离开。所以,对APP的性能指标进行监控,了解客户的体验是移动互联网发展过程的重要需求。
同时,一方面,移动互联网产品因为用户的手机型号繁多、手机操作系统版本不一致、APP版本难统一等问题,很难在开发或测试环节就完全解决掉移动APP的性能问题。另一方面,许多互联网公司规模都不大,没有能力自身搭建一套IT运维系统,甚至开发一套性能监控软件对已经上线的APP进行监控。
因此,本文希望探讨出一种基于云环境下的Saas模式的APP性能监控系统,供中小互联网企业使用。本系统针对影响终端客户体验的问题(连接超时、建立连接失败、解析失败、运营商劫持等等)设计功能模块
本Saas系统采用Agent+Server的方式,Agent为sdk方式,跟APP一起编译,运行在手机端,采集性能数据。Server端分析采集到的性能数据,用浏览器在维护终端上展示。
前端开发语言根据iOS系统和Andriod系统分别选择。后端系统采用spring+ Struts2+ Hibernatet的框架,设计为分布式组件化,组件可根据数据量大小和功能需求扩展。
关键词 Saas;APP性能;Agent;监控指标;体验。
目录
摘要 I
第1章 现行云服务简介 4
1.1 IaaS 4
1.2 PaaS 4
1.3 SAAS 4
第2章 工具选择 5
2.1 前端框架选型 5
2.1.1 Bootstrap 5
2.1.2 Foundation 5
2.1.3 Semantic UI 6
2.1.4 本项目选择是基于Bootstrap的jQuery UI 6
2.2 系统框架和开发语言的选型 7
2.3 开发语言的选择 7
2.4 Java框架的选择 7
2.4.1 Spring 7
2.4.2 Struts2 8
2.4.3 Hibernatet 8
2.4.4 本项目的选择:spring+ Struts2+ Hibernatet 8
2.5 数据库的选型 8
第3章 APP性能监控系统的需求 9
3.1 不同视角的客户需求 9
3.1.1 管理者 9
3.1.2 运维人员 9
3.1.3 研发人员 9
3.1.4 产品经理 9
3.2 不同详细程度的需求 9
3.2.1 汇总数据 9
3.2.2 异常数据 10
第4章 基于Saas的APP性能监控系统的设计 11
4.1 整体架构 11
4.2 功能模块 11
4.2.1 用户管理模块 11
4.2.2 web服务模块 12
4.2.3 前端模块 13
4.2.4 消息队列模块 13
4.2.5 后端模块 13
4.2.6 异常数据处理模块 13
4.2.7 性能数据处理模块 13
4.2.8 告警处理模块 13
4.3 数据库设计 14
4.3.1 设计原则 14
4.3.2 数据库设计 14
4.3.3 数据库部署方式 14
4.1 界面的设计 15
第5章 本系统的应用实例 16
5.1 应用说明 16
5.2 性能数据展示 16
5.2.1 汇总数据-整体 16
5.2.2 汇总数据-网络请求数据 16
5.2.3 汇总数据-用户交互数据 16
5.2.4 汇总数据-用户行为数据 16
5.2.5 异常数据-崩溃 17
参考文献 18
致谢 19