缓存问题对软件测试工作的影响

  我们都知道软件要运行必须安装在硬件上才可以,硬件是软件运行的环境,是软件的载体,以及软件运行结果的体现。软件运行的好坏,会受到硬件的严重制约,在这些硬件中常见有CPU、内存、硬盘等,CPU、内存、硬盘这些对软件使用的影响大家在日常生活中应该都深有体会,比如果国产手机厂商每次进行旗舰新品手机发布会时,总会以某某超级芯片全球首发为重要卖点,或者首次使用DDR5的手机作为卖点。这些无不体现着硬件对软件的影响程度。除了以上这些常见的硬件外,缓存对软件的使用体验,也会起着重要的作用。

  那今天我们就来聊聊缓存在软件测试工作中,对测试的影响。

  1.缓存的概念

  缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。

  CPU缓存(Cache

Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。

  2.缓存的工作原理

  缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。

  3.缓存对性能测试的影响

  介于缓存的工作原理,我们在对软件进行测试时,一定要考虑到缓存对系统的影响,这其中最主要的影响是性能上的影响,因为缓存最主要的作用是加速CPU读取数据,CPU回将读取频繁的数据从内存复制到缓存,方便下次继续读取,读取的速率比从内存中要快很多,如果缓存中没有需要的数据,则会去内存中读取,如果内存中也没有需要的数据,则会去硬盘中读取,然后放到内存中去计算。

  我们在做性能测试时,如果我们每次都做重复性的相同的操作时,那CPU会直接从缓存读取,而不是从内存中读取数据,也不是从硬盘中读取,用户在实际使用软件时,每次操作可能都是查询不同的数据,比如说淘宝用户,每次搜索商品名称时,搜索存在很大的不确定性,淘宝用户不会搜索同一个商品连续搜10次。因此如果我们想验证搜索商品的事务响应时间,就应该每次搜索不同的商品,这样才能更加接近真实用户的实际使用场景。我们在做性能测试时,录制了搜索商品的脚本,商品名称就固定不便了,如果每次搜索相同的商品,只有第一次搜索对应商品是从硬盘中读取数据的,后边都是从缓存中读取数据的,这样就不能真实反映用户场景,因此我们需要对商品名称进行参数化,让脚本每次运行时,搜索不同的商品,这样就不会出现这种缓存约束了。

  缓存除了CPU缓存还有,硬盘缓存,硬盘缓存跟CPU缓存起的作用类似,硬盘会班读取频繁的数据放到硬盘缓存中,以加快读取数据的速率,因此在性能测试中,对产品性能产生的影响和CPU缓存类似,所以在性能测试过程中如果遇到查询数据的场景,最好是将查询内容参数,让系统每次都能查询不同的数据。

  4.网络缓存

  缓存的概念其实很广,除了上边提到的CPU缓存和硬盘缓存,其实还有网络缓存,比如浏览器上的缓存,应用程序后台的缓存都是网络缓存。

  WWW是互联网上最受欢迎的应用之一,其快速增长造成网络拥塞和服务器超载,导致客户访问延迟增大,WWW服务质量日益显现出来。缓存技术被认为是减轻服务器负载、降低网络拥塞、增强WWW可扩展性的有效途径之一,其基本思想是利用客户访问的时间局部性(Temproral

Locality)原理,将客户访问过的内容在Cache中存放一个副本,当该内容下次被访问时,不必连接到驻留网站,而是由Cache中保留的副本提供。

  5.网络缓存的好处

  Web内容可以缓存在客户端、代理服务器以及服务器端。研究表明,缓存技术可以显著地提高WWW性能,它可以带来以下好处:

  (1)减少网络流量,从而减轻拥塞。

  (2)降低客户访问延迟,其主要原因有:

  ①缓存在代理服务器中的内容,客户可以直接从代理获取而不是从远程服务器获取,从而减小了传输延迟;

  ②没有被缓存的内容由于网络拥塞及服务器负载的减轻而可以较快地被客户获取。

  (3)由于客户的部分请求内容可以从代理处获取,从而减轻了远程服务器负载。

  (4)如果由于远程服务器故障或者网络故障造成远程服务器无法响应客户的请求,客户可以从代理中获取缓存的内容副本,使得WWW服务的鲁棒性得到了加强。

  6.网络缓存造成的影响

  Web缓存系统也会带来以下问题:

  (1)客户通过代理获取的可能是过时的内容。

  (2)如果发生缓存失效,客户的访问延迟由于额外的代理处理开销而增加。因此在设计Web缓存系统时,应力求做到Cache命中率最大化和失效代价最小化。

  (3)代理可能成为瓶颈。因此应为一个代理设定一个服务客户数量上限及一个服务效率下限,使得一个代理系统的效率至少同客户直接和远程服务器相连的效率一样。

  介于以上情况,我们在软件测试过程中也要尽量避免网络缓存的约束,做功能测试时,尤其是系统代码更新了后,我们最好是将自己的网络缓存清一下,然后在去测试。在做性能测试时,也尽量将网络缓存清理掉。

  以上内容为大家介绍了缓存问题对软件测试工作的影响,希望对大家有所帮助,如果想要了解更多软件测试相关知识,请搜索多测师。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容