首先明确一下我们测试的目的:客户端浏览器的js内存是否存在泄漏,服务器端的话可不是这么测,防止用户使用时浏览器卡顿或崩溃。

F12打开开发者工具,选中Memory页签下的Heap snapshot。

每次我们记录快照前都要点击那个小垃圾桶,清一下缓存,因为我们测内存泄漏是看内存的变化,而快照会连同内存和缓存一起计算,我们请了缓存后,录的当然就剩内容占用情况了。

Web 性能测试-内存泄漏测试方法之chrome内存快照_chrome

测内存泄漏就是看我们做了一些操作前后内存的变化,比如我们在重复做查询操作,每次操作后的快照都会增加几兆或更多,这就说明可能是存在内存泄漏。
注: 你做不同的事,内存增长不一定是内存泄漏哦,他可能是正常的加载一些必要的东西占用的内存而已。总之就是做这一种事只需要固定的那么多内存,要是每次都新增加了一些内存,说明加载的东西重复了。可能是之前不用的内存没释放,或是新加载了一些没用的内存。

对比快照查内存泄漏原因

至少需要两个快照,选择一个,选择comparison对比两个快照,对比谁呢,选择要对比的,然后下面就会清楚的给出各种堆栈占用、释放和剩余的情况,通过排序很容易找到问题,当然开发写的,具体的是代码哪里有问题需要他们来定位。
Web 性能测试-内存泄漏测试方法之chrome内存快照_加载_02

快速测试内存泄漏

每次我们都要做快照的话如果内存大的话快照是比较慢的,快照主要是开发来对比找问题用的,我们测试只需要发现问题就好了。版本较新的chrome浏览器有内存动态时时监控,就是在Profiles页签的最底下,前面的数就是,发现了吗,跟我们做快照录的值是一样的,所以我们每次直接看这个值,手工记录下就好了,是不是非常快呢!
注:别忘了,每次记录前都要点下垃圾桶清理下缓存哦!
Web 性能测试-内存泄漏测试方法之chrome内存快照_chrome_03