阿里云vps的io速度是不是很慢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
通过以下 Referral 链接购买 DigitalOcean 主机,你将可以帮助 V2EX 持续发展
DigitalOcean - SSD Cloud Servers
mahone3297
V2EX    VPS

阿里云vps的io速度是不是很慢?

  •  
  •   mahone3297 2013-12-17 13:34:05 +08:00 3301 次点击
    这是一个创建于 4386 天前的主题,其中的信息可能已经所发展或是发生改变。
    最近在做一个站点,图片有点多。全放到web目录下(没有采用第三方存储)
    新打开一个站点时,要加载很多图片。。。这时我ssh在服务器上敲命令时,瞬间很卡。。。突然意识到,是磁盘io问题(之前也遇到过,以为可能是网络或者load问题)大家有遇到过我这样的情况吗?
    今天测试了下,阿里云vps测试结果如下:
    1. 写速度
    time dd if=/dev/zero of=test.db bs=1M count=1024 cOnv=fdatasync
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 23.2556 s, 46.2 MB/s

    real 0m23.265s
    user 0m0.000s
    sys 0m1.520s

    2. 读速度
    time dd if=test.db of=/dev/null bs=1M
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 15.0304 s, 71.4 MB/s

    real 0m15.041s
    user 0m0.004s
    sys 0m1.128s

    本地电脑虚拟机测试结果
    1. 写
    time dd if=/dev/zero of=test.db bs=1M count=1024 cOnv=fdatasync
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 12.0661 s, 89.0 MB/s

    real 0m12.247s
    user 0m0.012s
    sys 0m2.288s

    2. 读
    time dd if=test.db of=/dev/null bs=1M
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 0.420771 s, 2.6 GB/s

    real 0m0.425s
    user 0m0.012s
    sys 0m0.404s

    ps:国内用阿里云vps靠谱吗?
    36 条回复    1970-01-01 08:00:00 +08:00
    Livid
        1
    Livid  
    MOD
    PRO
       2013-12-17 14:24:59 +08:00
    SSH 卡是因为你的 VPS 的上行带宽满了。阿里云的 VPS 有带宽限制。
    mahone3297
        2
    mahone3297  
    OP
       2013-12-17 14:45:27 +08:00
    @Livid vps上行为什么会满?打开加载vps上的网站,应该算是下行吧,其他我什么事情都没做。敲几个ssh命令,应该上行不会满吧?
    varrily
        3
    varrily  
       2013-12-17 14:59:18 +08:00
    下载图片的时候,你这边是下行,服务器是上行,上行满了,终端卡是很正常的。
    felix021
        4
    felix021  
       2013-12-17 15:10:24 +08:00
    阿里云的磁盘IO的确是比较烂。但是他们有BGP骨干网这个卖点。
    wzxjohn
        5
    wzxjohn  
       2013-12-17 15:13:53 +08:00
    据说阿里云的磁盘是基于NFS的,曾经出现多次nfs连接出错导致全盘只读。。。
    robertlyc
        6
    robertlyc  
       2013-12-17 15:27:48 +08:00
    哪个云现在没有BGP了
    mahone3297
        7
    mahone3297  
    OP
       2013-12-17 16:05:08 +08:00
    @varrily ok,有点理解 “下载图片的时候,你这边是下行,服务器是上行” 再请教下,上行满了,为什么终端就卡了?
    Livid
        8
    Livid  
    MOD
    PRO
       2013-12-17 16:25:07 +08:00
    @mahone3297 uplink 满了的时候,就会发生丢包。
    046569
        9
    046569  
       2013-12-17 16:36:00 +08:00
    1.阿里云IO是不快,测试结果发到官方被删帖,在这补发一次:
    阿里云高性能磁盘IO测试(2013年12月14日)
    http://bbs.ymate.me/t/596/1/1
    注意最近还是在用旧硬盘,高性能磁盘需要申请.
    2.但你的问题并非是IO问题,L大给你解释过了.
    3.阿里云靠谱吗?我们迁移到阿里云后434天无重启,客户的机器在上面的也有个百十来台,半年以上没重启的很多.即使是独立服务器,硬盘也经常是瓶颈,多用缓存,注意规避就可以了.个人认为还是比较靠谱的.
    sandtears
        10
    sandtears  
       2013-12-17 17:29:30 +08:00
    听说阿里云那边的数据盘是通过网络挂载的 0.0
    akira
        11
    akira  
       2013-12-17 18:53:29 +08:00   1
    阿里云的硬盘IO是不高,但是你这个是带宽的原因。
    放图片多记得弄大点带宽。
    akira
        12
    akira  
       2013-12-17 18:57:55 +08:00
    @046569 附带杭州临时硬盘的测试结果,似乎比你测出来的数据要好一点。

    dd if=/dev/zero of=temp.dd bs=32k count=2k oflag=dsync
    7108864 bytes (67 MB) copied, 3.54786 s, 18.9 MB/s

    dd if=/dev/zero of=temp.dd bs=64k count=2k oflag=dsync
    134217728 bytes (134 MB) copied, 3.64731 s, 36.8 MB/s

    dd if=/dev/zero of=temp.dd bs=32k count=5k
    167772160 bytes (168 MB) copied, 0.255099 s, 658 MB/s

    dd if=/dev/zero of=temp.dd bs=64k count=5k
    335544320 bytes (336 MB) copied, 0.50275 s, 667 MB/s

    dd if=/dev/zero of=temp.dd bs=32k count=50k
    1677721600 bytes (1.7 GB) copied, 9.34802 s, 179 MB/s

    dd if=/dev/zero of=temp.dd bs=64k count=50k
    3355443200 bytes (3.4 GB) copied, 24.944 s, 135 MB/s
    046569
        13
    046569  
       2013-12-17 20:13:53 +08:00
    @akira
    蛋疼的是,你占用不了多久,几分钟后就会被降速,本来就不高...
    现在的办法还是尽量缓存,少惹硬盘.
    VYSE
        14
    VYSE  
       2013-12-17 20:43:32 +08:00
    如果你CLIENT或VPS带宽没问题的话,的确可能遇到IO导致响应迟缓的情况。

    我们有个FILE HTTP SERVER,那里SSH操作总会比其他机器缓慢,理论上带宽不是问题,因为是内网。
    查过可能原因是IO中断导致,2.6.38内核据说能解决这个问题,另外DD算出来的IO速率可能受IO影响,因为IO操作如果内存够是直接读写内存的,我们128G内存DD也是在GB以上,其实都走内存。
    从你阿里云的DD上看,基本走的磁盘,不妨留出更多空闲内存供CACHE。
    princeofwales
        15
    princeofwales  
       2013-12-17 20:46:45 +08:00
    阿里云的磁盘和AWS EC2一样,是通过网络挂载的,不是本地磁盘,I/O确实是瓶颈
    akira
        16
    akira  
       2013-12-17 21:03:27 +08:00
    @046569 少惹硬盘是共识了。
    ps :临时硬盘是有丢失数据的可能的,就算上线了,用途也有限。
    mahone3297
        17
    mahone3297  
    OP
       2013-12-17 22:29:02 +08:00
    @046569
    @Livid
    @sandtears
    @akira
    - 购买服务器的时候,好像只看到说带宽,没看到说上行多少,下行多少,哪里可以看?
    - 如何看uplink是否满了?
    - 我没用阿里云的数据盘,直接用的阿里云系统送的20g
    - 图片有点多的话,一般要多大带宽?这个怎么算?

    @VYSE
    你说的dd写内存,可以看下参数,cOnv=fdatasync 加上这个就不写内存缓存了

    谢谢各位热心回复!学习了!
    VYSE
        18
    VYSE  
       2013-12-17 23:10:31 +08:00
    @mahone3297 写的测试是准确的,主要是读的,那个2.6GB的,读的时候还是已经有CACHE了
    Benisme
        19
    Benisme  
       2013-12-17 23:11:36 +08:00
    @mahone3297 产品帮助里写的是上行不限,下行你买多少就是多少。
    图片多就不要把图片放在阿里云,用oss或者七牛或者又拍云(我觉得七牛不错)减轻带宽压力。
    drawingsinging
        20
    drawingsinging  
       2013-12-17 23:16:28 +08:00
    如果追求速度的话,图片建议用阿里云oss存储或者七牛或者又拍.数据库可以用阿里云rds.
    mahone3297
        21
    mahone3297  
    OP
       2013-12-17 23:26:49 +08:00
    @Benisme
    @drawingsinging
    嗯,帮别人做的企业站,就不考虑那么多了。只是关于技术方面,对速度慢有点好奇,想和大家研究探讨下。企业老板就想放那么多图片上去。。。回头和他看看商量商量,是否要减少点图片。
    sandtears
        22
    sandtears  
       2013-12-18 02:30:43 +08:00
    @mahone3297 阿里云标明的是上传带宽,下载带宽自己进去测呗,在10M以上 `wget cachefly.cachefly.net/100mb.test`
    sandtears
        23
    sandtears  
       2013-12-18 02:31:07 +08:00
    @mahone3297 图片用七牛之类的做吧
    victor
        24
    victor  
       2013-12-18 07:50:59 +08:00
    @046569 请问“现在的办法还是尽量缓存,少惹硬盘." 怎么解释呢?能讲一下么谢谢。

    最近也遇到这类问题了。缓存到内存中已经被排除了。其他的缓存办法仍然要从硬盘上读取内容。当然图片,css,js文件等已经做了cdn和oss之类的静态文件分发存储。
    046569
        25
    046569  
       2013-12-18 17:25:00 +08:00
    @victor
    顺嘴说习惯了,这说法不严谨.
    我还处在堆机器性能的初级阶段,数据库扛不住就升RDS,反代搞不定就堆CDN,应用服务器顶不住就SLB.除了阿里的坑爹老用户政策,一切看起来挺美好的.
    akira
        26
    akira  
       2013-12-18 19:57:40 +08:00
    @sandtears 按带宽算的服务器,应该是上下行对等的。
    @046569 你漏了一个堆memcache
    @victor 如果你的图片等静态文件,都是丢到oss之类的地方的话,实际上你的主机应是基本上无io压力了。
    mahone3297
        27
    mahone3297  
    OP
       2013-12-18 20:51:31 +08:00
    @046569 看来你也是个有钱的主。就这么堆上去就好了?db直接升级rds就ok了?不用考虑分表?CDN贵不贵的?SLB是什么?
    sandtears
        28
    sandtears  
       2013-12-18 21:41:15 +08:00
    @akira 阿里云不对等,下载速度10Mbps以上。
    akira
        29
    akira  
       2013-12-18 21:51:33 +08:00
    @sandtears 具体数字我没测试过,但是1M的服务器,做update的时候,感觉比5M的服务器要慢。

    刚测试了一下,从百度盘下载同一个文件,
    5M带宽:106,404,624 5.79M/s in 18s
    1M带宽:106,404,624 3.04M/s in 35s
    046569
        30
    046569  
       2013-12-18 22:02:32 +08:00
    @mahone3297
    都是小站,百W的PV就撑死了,数据也没大到需要分表.
    后面的问题你可以咨询阿里云客服.
    victor
        31
    victor  
       2013-12-18 22:11:07 +08:00
    @046569 小公司没钱啊,升级服务器都要精打细算,所以只要有那么一点优化的心得,我都要跪求赐教。
    @akira 图片等静态文件已经放到OSS上了。现在的重点是对于一些内容不经常变化的请求。比如首页,新闻列表,新闻内容。这些大概每天更新一次,目前这些请求的缓存我还是放在了阿里的ECS(云主机)上。因为是多个进程,放在内存的话不能共享。这部分又没有特别强的交互,放在 memcached 也没必要。所以是存成了文件,这部分是不是就是 @046569 说的,还是会有 IO 的问题呢?
    akira
        32
    akira  
       2013-12-18 22:25:08 +08:00
    @victor 如果你的pv比较大的话,还是丢mc比较好。具体还是要看你的数字,才能下结论。

    不过不管如何,内存够的情况下,丢到内存放总是比放在硬盘上面要好的。
    046569
        33
    046569  
       2013-12-18 22:29:09 +08:00
    @victor
    要不要这么傲娇,我还在Ruby-China那拜读大作,说多就是矫情了.
    这个还是可以共享的,存储的时候直接写到/dev/shm去,首页之类的不会太大,消耗不掉多少内存,但提速应该比较明显,阿里那IO跑出30+负载我一点也不奇怪...
    希望能有点启发.
    :)
    leisudeng
        34
    leisudeng  
       2013-12-19 13:09:32 +08:00
    这磁盘速度不能说特别差,一般做站是没啥大问题的
    victor
        35
    victor  
       2013-12-19 17:27:06 +08:00
    @046569
    @akira

    好的,考虑到目前几十万PV,不算很严重,还是生成文件放在硬盘上吧。今天为此写了一个 Gem,如果程序是非 Rails 的 Ruby 应用,可以考虑下
    https://github.com/wjp2013/grape-shaman_cache

    支持内存,文件系统和memcached作为存储介质
    DavidSone
        36
    DavidSone  
       2013-12-24 11:08:05 +08:00   1
    阿里云很快会正式推出CDN了,把静态资源的压力转移到CDN吧,我就这么干的,还不错,至少不用整天再看着监控里面的磁盘项目一路飘红了,至于缓存,并不是万能的,很多场景启用缓存未必能解决多少问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2488 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:27 PVG 18:27 LAX 02:27 JFK 05:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86