文档章节

azure存储压测的问题(农码主观意识太强被坑了)

泥水佬
 泥水佬
发布于 2014/09/16 21:12
字数 1073
阅读 116
收藏 1

        由于公司想把部份业务迁到windowsazure,主要是应用winodwsazure的存储;在方案中为了体现存储的可靠性所以对winodwsazure存储进行了一系列的测试.但在读取压力测试环节中发现间歇性出现文件读取延时的情况,由于自己在编写测试应用方面比较善长(年长的农码),所以把问题归根于winodwsazure的存储上.经过和MS技术多次交流和帮助下才把问题明确下来,虽然问题不是程序代码产生,但和测试方法构建的测试数据有着关系.下面分享一下个测试过程.

目标

        公司希望把网站存储的一些资源放到windowsazure上,总容量大概在3个T左右.出于方案实施严紧性考虑所以制定了一个压力测试计划,主要从读和写两方面来考察一下存储所支援的压力.写测试主要是分别写入:8k,16k,32k,64k,128k不同大小的文件而读取测试则随便获取写入的文件.

测试

        在写入测试的时间还是非常顺利,存储节点的写入带宽基本可以达到3Gb,压力写入测试效果非常理想.但在压力读取的时候就出现异常,基本每隔2-3分钟就会出现读取延时,其延时时间竟然达到3-6秒.然后又恢复正常...


while (true)
            {
                stream.Position = 0;
                TimeOutLog log = new TimeOutLog();

                watch.Restart();
                long index = System.Threading.Interlocked.Increment(ref mIndex);
                string url = mImages[(int)(index % mImages.Count)];
                CloudBlob blob = container.GetBlobReference(url);
                blob.DownloadToStream(stream);
                System.Threading.Interlocked.Increment(ref mCount);

            }

        由于测试代码非常简单,而测试机的CPU和内存都是比较充足,所以直接把问题指向了存储节点上.把问题汇总到winodwsazure方面的技术人员,经过对方调试排查后说程序构建测试的资源URL太多了可能是导致程序出现问题的主要原因.

        在收到问题后我实在不理解,即使测试Url占用大量的内存也不可能影响程序运行,毕竟测试服务器的CPU根本没有压力.由于没有明确是否程序存在问题,所以我试图找方法来证明是存储的原因(毕竟公司采用的方案不能随便了结).通过修改程序把每个环节的运行时候记录下来.

TimeOutLog log = new TimeOutLog();

                watch.Restart();
                long index = System.Threading.Interlocked.Increment(ref mIndex);
                string url = mImages[(int)(index % mImages.Count)];
                watch.Stop();
                log.GetUrlTime = watch.Elapsed.TotalMilliseconds;
                log.Url = url;
                watch.Restart();
                CloudBlob blob = container.GetBlobReference(url);
                blob.DownloadToStream(stream);
                watch.Stop();
                log.GetBlobTime = watch.Elapsed.TotalMilliseconds;
                if (log.GetBlobTime > 1000 || log.GetUrlTime > 1000)
                    mQueue.Enqueue(log);
                System.Threading.Interlocked.Increment(ref mCount);

        添加处理时间后明确发现是blob的downloadToStream存在间歇延时的情况,由于这个winodwsazure的API是由官方提供的.所以下了个定论程序不存在问题,应该是存储方面出现异常,然后邮件winodwsazure技术要求他们帮忙跟进一下.经过沟通对方建议把测试的url裁剪成N小分然后由开启多个程序进行压测,这个工作对我来说是比较方便调整,于是就把url拆分成N小份测试,结果没想到整个测试都非常顺利.

结总

        .net程序占用大量内存后为什么影响downloadToStream导致延时的问题现在还没有清楚(毕竟不影响对存储的考察所以就没有再研究下去了),由于自己在编写.net程序有一定经验,所以开始坚信不是程序方面出的问题...刚开始挺排斥说是数据或程序原因导致的问题.后面拆成N个小文件的动机也是为了更进一步想证明存在问题.结果论证了我的想法是错误的,有时凭某方面的经验主观的判断一个事情的确是件很不好的方式.以下分享一下winodwsazure存储的测试结果

winodwsazure单个结点的存储读写还是非常给力的,基本按MS所说的一个帐号达到3Gb的读写流量.

© 著作权归作者所有

泥水佬

泥水佬

粉丝 77
博文 95
码字总数 65026
作品 7
广州
架构师
私信 提问
聊聊性能:全链路压测 overview

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011001084/article/details/88073498 全链路压测是保障业务稳定性,用户体验的重要手段,从宏观角度,我觉得...

ArthurKingYs
03/02
0
0
腾讯IVWEB团队:那些年我们踩过的坑

腾讯云技术社区-简书主页持续为大家呈现云计算技术文章,欢迎大家关注! 作者:梁伟盛 那些年我们踩过的坑 事件背景 有一天leader给程序员cover分配了一个需求,cover一看,需求很简单嘛,就...

2017/12/18
0
0
大促系统全流量压测及稳定性保证——京东交易架构分享(含PPT)

大家好!我是来自京东商城交易平台的杨超,今天特别高兴能够来给大家分享每年 618 及双十一所做过的工作,我是 2011 年加入京东,在这 5 年中我经历了不少技术演进,也看到了不少变化,在这里...

花生核
2016/06/29
164
0
【Jmeter 双11电商性能测试总结】--未编写完善,目前只拟个思路记录下,后面时间充裕了再整理。

前言: 因业务需要,在双11来临之际需要对多个业务核心接口做压测工作,话不多说,直接记录(以下记录为本人的切实感受,不代表任何立场,如有出入请另行百度,本人只做比较,方便日后回顾,...

覃大光
2018/12/20
194
0
与时俱进:iostat核心变化解读

近些年,存储技术飞速发展,有些OS命令的输出结果如果用老的思路去分析,就很容易进入误区。本文不是一篇iostat的科普文,我将深入解析的是大家使用iostat时常遇的问题。iostat 是sysstat工具...

代海鹏
2016/03/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
11
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部