第一次完成千万级数据的网站 发帖留念

以前都是在小打小闹写小程序,这次终于写了一个“大”的。
目前数据库中有2400w+ 的记录数 2.7G的数据库大小


采用thinkphp3.0开发,基于soap协议同步更新内容,大量采用memcache进行缓存。
上周末上线,目前运行一切良好

如果按照最初设计 内容99%都集中到一个表中,
这个表每日增加10w条左右的数据,每条数据第一次被访问到还要更新这个表中一个字段,
整个网站80%的页面还都要从这个表中读取,操作极其频繁。

翻看网上了很多优化方面的文章,最后主要从下面几个地方做了优化
1、数据库分表。对内容最大的表进行分表,按照一定规律进行分表,最后分了90多个表,这样数据量比较大的表也就是150w数据 160m的大小。


2、静态化。部分最终页面第一次访问后会更新字段,以后就很少更新,对着这些内容直接生成静态。
3、js+cookie处理一部分原本在php中大多数页都要判断。比如用户登录状态,在线积分,页面点击。
4、延迟更新。比如一篇文章每次点击后就更新点击数改为先记录,直到当点击数达到一定数据后一次写入。
5、memcache缓存。对绝大多数sql语句结果进行缓存,根据频繁度设置不过的过期时间,对于一些常用数据进行了永久缓存。
6、服务器环境。这次不得不抛弃win2003,g大小以上mysql跑在win上真是一个悲剧。这次采用了LTMP centos+tengine(淘宝基于nginx开发)+mysql5.1+php5.3.10+eAccelerator,实际测试,整体速度比在win上快了3倍
7、减少网页大小。去除html代码中的空格部分,开启gzip从而压缩页面大小,从另一方面提升访问速度。
8、使用soap协议同步更新,内容更新是监控+采集的,将这块单独了出去,减少服务器在这方面的运算。
-----------
暂时只做了这么多,还有一些其他的没有做, 比如sphinx等等。
即使上面做的有些地方有些也都还没有处理好,比如css、js的压缩,比如一些页面由于还没有最终完成所以没有静态化,
还需要长期的优化,现在迫切的想听特技课部分。

目前正式上线后在日ip1.3w访问量的情况下查看平均负载依旧保持在一个良好的水平。
持续关注,根据情况做调整。

上线几天,度娘一直不搭理,留个网址 勾搭下度娘
http://www.kuaiyankanshu.net

原文地址:http://bbs.lampbrother.net/read-htm-tid-118481.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(179) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值