简单浅析下如何巧用OSS、RDS缓解IO瓶颈
as you know,阿里云云主机的磁盘IO并不好,但可以满足绝大部分网站所需。
如果遇上大流量需要上传储存大数据时,你需要什么办?
解释几个概念及特点:
1.磁盘:可持久化的储存。但阿里云云主机经过虚拟层过后,IO效率比较低。
2.内存:高效化临时储存(GB级别的读写速度)。可以临时高速储存数据,但不可持久,且重启后数据会丢失。
3.OSS:类于amazon s3的简单储存服务,可直接GET调用(请求不再经过你的主机)。
4.RDS:外部数据库服务,网站做大过后强烈建议使用,因为将数据与逻辑分离更有利于日常维护、管理和安全策略。
举一个简单的例子说明(并非真实请勿对号入座):
我的网站是图片分享站,数据非常之大,整个网站打包,加上数据库超过了4个G。
如果常规方式独服做站,备份、管理非常之累。且限于带宽等因素网站访客体验并不高。
优化方案:OSS加云主机
上传时到内存缓冲区(php.ini将上传临时路径分配到内存挂载的tmpfs)-->OSS。内存是不可持久的临时储存,转移到OSS过后就是持久的了。 可有效解决IO瓶颈,且云主机内网与OSS的传输带宽不计入公网带宽,也就是你网站是5M带宽,云主机与OSS传输时你的访客仍然可以体验到5M的出带宽。而且云主机的入带宽远高于出带宽,上传体验非常之好~(大家注意呃,整个上传过程写的运作全是对内存进行的,丝毫没增加磁盘写的压力~)
GET直接外部调用。 可以有效减少绝大多数图片请求和流量并可减少绝大多数的磁盘读的请求,这点在网站访问高峰期时优势最明显。
这样优化过后,备份时,也不用再额外备份图片数据,因为他们在OSS里好好地放着哩。你网站程度 数据库有多大你就只需备份多大
-------------------------
-------------------------
-------------------------
我向大学生进军
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。