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

2013-12-17 13:34:05 +08:00
 mahone3297
最近在做一个站点,图片有点多。全放到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靠谱吗?
2537 次点击
所在节点    VPS
36 条回复
mahone3297
2013-12-17 23:26:49 +08:00
@Benisme
@drawingsinging
嗯,帮别人做的企业站,就不考虑那么多了。只是关于技术方面,对速度慢有点好奇,想和大家研究探讨下。企业老板就想放那么多图片上去。。。回头和他看看商量商量,是否要减少点图片。
sandtears
2013-12-18 02:30:43 +08:00
@mahone3297 阿里云标明的是上传带宽,下载带宽自己进去测呗,在10M以上 `wget cachefly.cachefly.net/100mb.test`
sandtears
2013-12-18 02:31:07 +08:00
@mahone3297 图片用七牛之类的做吧
victor
2013-12-18 07:50:59 +08:00
@046569 请问“现在的办法还是尽量缓存,少惹硬盘." 怎么解释呢?能讲一下么谢谢。

最近也遇到这类问题了。缓存到内存中已经被排除了。其他的缓存办法仍然要从硬盘上读取内容。当然图片,css,js文件等已经做了cdn和oss之类的静态文件分发存储。
046569
2013-12-18 17:25:00 +08:00
@victor
顺嘴说习惯了,这说法不严谨.
我还处在堆机器性能的初级阶段,数据库扛不住就升RDS,反代搞不定就堆CDN,应用服务器顶不住就SLB.除了阿里的坑爹老用户政策,一切看起来挺美好的.
akira
2013-12-18 19:57:40 +08:00
@sandtears 按带宽算的服务器,应该是上下行对等的。
@046569 你漏了一个堆memcache
@victor 如果你的图片等静态文件,都是丢到oss之类的地方的话,实际上你的主机应是基本上无io压力了。
mahone3297
2013-12-18 20:51:31 +08:00
@046569 看来你也是个有钱的主。就这么堆上去就好了?db直接升级rds就ok了?不用考虑分表?CDN贵不贵的?SLB是什么?
sandtears
2013-12-18 21:41:15 +08:00
@akira 阿里云不对等,下载速度10Mbps以上。
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
2013-12-18 22:02:32 +08:00
@mahone3297
都是小站,百W的PV就撑死了,数据也没大到需要分表.
后面的问题你可以咨询阿里云客服.
victor
2013-12-18 22:11:07 +08:00
@046569 小公司没钱啊,升级服务器都要精打细算,所以只要有那么一点优化的心得,我都要跪求赐教。
@akira 图片等静态文件已经放到OSS上了。现在的重点是对于一些内容不经常变化的请求。比如首页,新闻列表,新闻内容。这些大概每天更新一次,目前这些请求的缓存我还是放在了阿里的ECS(云主机)上。因为是多个进程,放在内存的话不能共享。这部分又没有特别强的交互,放在 memcached 也没必要。所以是存成了文件,这部分是不是就是 @046569 说的,还是会有 IO 的问题呢?
akira
2013-12-18 22:25:08 +08:00
@victor 如果你的pv比较大的话,还是丢mc比较好。具体还是要看你的数字,才能下结论。

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

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

支持内存,文件系统和memcached作为存储介质
DavidSone
2013-12-24 11:08:05 +08:00
阿里云很快会正式推出CDN了,把静态资源的压力转移到CDN吧,我就这么干的,还不错,至少不用整天再看着监控里面的磁盘项目一路飘红了,至于缓存,并不是万能的,很多场景启用缓存未必能解决多少问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/93480

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX