发表于: 2017-04-27 21:23:07

1 1534


【说明】今天貌似看了许多,可现在想来又没多少。

一:今日完成

1)fiddler(抓包工具)

Fiddler 是位于客户端和服务器端的 HTTP 代理,也是目前最常用的 http 抓包工具之一 。

它能够记录客户端和服务器之间的所有 HTTP 请求,可以针对特定的 HTTP 请求,分析请求数据、设置断点、调试 web 应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是 web 调试的利器。

只是看看,没使用

2)压测实例(听起来好专业)

接口名称: 获取列表
 压测现象: 单台 tps700 多,应用 cpu 高负载
问题分析:
旧框架,平均响应时间长,应用 CPU 高,程序内部有大量的 bean 到 map 到 json 之间的转换,修改数据库连接数后,tps 没有提升。

 改进措施:
重构系统,用 mybatis 替代之前的 dao 操作,减少 bean-map-json 之间的内部数据转换,减少程序内部的无用操作。

改进效果:
tps 改进后能到 3000 左右,有较大提升,但压测时应用 cpu 几乎跑满,还有改善空间。

3)缓存穿透和失效(一支穿云箭)

1. 缓存穿透:查询一个必然不存在的数据。比如文章表,查询一个不存在的 id,每次都会访问 DB,如果有人恶意破坏,很可能直接对 DB 造成影响。

解决办法:对所有可能查询的参数以 hash 形式存储,在控制层先进行校验,不符合则丢弃。

2. 缓存失效:如果缓存集中在一段时间内失效,DB 的压力凸显。这个没有完美解决办法,但可以分析用户行为,尽量让失效时间点均匀分布。

二:明日计划

继续

三:疑难问题

看了一个项目的介绍东西好多

四:思考总结

进步有点慢啊



返回列表 返回列表
评论

    分享到