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

来源:互联网 发布:知乎 双肩包 独立品牌 编辑:程序博客网 时间:2024/05/14 15:27

以前都是在小打小闹写小程序,这次终于写了一个“大”的。
目前数据库中有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

阅读(179) | 评论(0) | 转发(0) |
1

上一篇:肉体已逝,精神永存。---第一期项目感受

下一篇:兄弟连第一届非官方感恩父母活动

相关热门文章
  • IP Sec VPN与NAT破镜重圆
  • 网站导航
  • GoAgent图文设置教程
  • UT2.0正式版下载
  • tomcat6.0配置(含配置视频下载...
  • 大家都是用什么来管理hadoop集...
  • 网站被人挂了吗,添加了些程序...
  • Nginx如何保证不走宕机的那个...
  • 大家谈谈MYSQL客户端和服务器...
  • 以下代码运行后为何会输出5?...
给主人留下些什么吧!~~
原创粉丝点击