开发者社区> 问答> 正文

低成本打造秒开网站技术分析(利用阿里云oss)

对于大多数用户来说,特别是中小企业用户,网站速度缓慢组要是带宽问题。
原因相比不用说,就是带宽太贵了。
一旦网站首页多几个大图,会直接导致打开速度龟速。
今天我遇到一个客户,某地方网站,首页挂了多个flash文件。且网站附件图片甚多。
具体参数如下:

内存:2g
cpu:2核
程序:discuz (php+mysql)
系统:windows server 2008 + iis7 + mysql + php
带宽: 4M
访问量:小于1w  (可见配置还是非常浪费的)

主要问题:
1、系统是windows系统,从我经验看,对php支持,windows系统稳定性方面确实比较差。
2、首页大图、flash太多,直接导致首页文件过大,请求时间为18秒
3、个人感觉带宽浪费,这点用户一般2M足够。主要是首页太大,其他页面附件也多,导致打开缓慢。


解决方案:
1、想把数据库迁移到rds 但是没有实施,客户不想系统太过复杂。(未实施)
2、php参数优化。
3、网站缓存机制优化(由于磁盘不是ssd mysql本来负载不高,意义不大)。
5、将附件切换到oss 。此处并没有安装discuz提供的附件通接口,而是直接通过网址重写(也就是伪静态)将附件那部分请求切换到阿里云。
6、由于是php网站,我建议将系统切换为 linux+ nginx+mysql+php  但是客户由于是linux盲,不想变那么复杂,无奈只能从其他方式优化网站,其中主要是对附件进行处理(未实施)


下面是主要的规则,适合iis7
<rule name="daili">
  <match url="^.*data/attachment/(common.*)" />
  <action type="Rewrite" url="http://guoyangbbs.oss-cn-hangzhou.aliyuncs.com/{R:1}" />
  <conditions>
     <add input="{REQUEST_FILENAME}" matchType="IsFile" />
  </conditions>
</rule>
下面是适合nginx的规则(这个是随机写的,没有经过实践,这个要注意必须oss文件和网站附件保持一直。因为没有加入判断条件,需要的自己加。判断请求合法即可生效,确保在oss中找不到附件能到服务器中找附件。)
rewrite ^[^\.]*/data/attachment/(.*)$  http://guoyangbbs.oss-cn-hangzhou.aliyuncs.com/$1 break;

然后定期同步一下附件。

总结:
1、技术方案要考虑用户的技术水平,对于普通用户弄很高深的系统没那么必要。
2、尽量采用比较简单的,免费的资源,低成本打造快速秒开网站。
3、优化后,系统打开速度在2s以下。
4、充分使用nginx反向代理,伪静态等,灵活使用可以在不改变url的情况下,改变用户数据存放位置。即便后期不用oss  一样可以灵活切换。
5、阿里云很多免费套餐,如rds  oss (每月5G流量),对于中小网站完全足够了。




关于使用附件通接口将附件托管到阿里云oss或者其他云存储: 低成本打造秒开网站(使用第三方云存储)

展开
收起
玩站网 2015-10-13 13:33:24 12619 0
4 条回答
写回答
取消 提交回答
  • sgf
    首页 大  上个免费 100G 流量的 CDN 不就行了。
    我还以为楼主技术有多牛逼。。。也就那样罢了

    2015-11-23 03:18:22
    赞同 展开评论 打赏
  • Re低成本打造秒开网站技术分析(利用阿里云oss)
    有这个需求 但是我觉得适合那些固定的一些资源文件 基本不会变动的 ,如果涉及到随时要上传的目录还得进行二次修改或是同步才行
    2015-11-23 02:04:16
    赞同 展开评论 打赏
  • 回 1楼(51干警网) 的帖子
    同步需要用到附件通接口 。

    参考下面文档就行。 这里方案没使用。

    因为小网站,不需要那么麻烦。

    当然也有自动同步工具,可以写脚本一段时间自动同步。


    2015-10-13 14:58:24
    赞同 展开评论 打赏
  • oss的同步呢?
    2015-10-13 13:56:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载