网站问题
前些日子有用户反映"网站慢","网站打不开了"。。。自己看看确实比平常慢很多。
网站概况及压力
先简单介绍一下用户反映的网站,以便您对这个网站及数据库压力有个大致了解。
该网站是一个分类信息网,压力理所当然的落在了信息处理上。针对信息处理,带给数据库的压力主要有两点:
1.网站首页会读取信息表Info;
2.信息列表页会读取信息表Info;
据统计,这个时候信息表Info已有360多万条数据。每个用户访问网站首页或细信息列表页都必须从360多万条数据中
找出想要的数据。从而造成了”网站慢“等诸多问题。
从这个角度看,就当前的网站架构来说,360多万条数据已经成了这个系统所能承受压力的上限了。
解决此类问题途径
处理此类问题我们应该有所了解,诸如:优化网站架构,使用缓存,使用分布式等等。考虑到这些并不是本文重点,加
上自己对这些不是很上手,所以就不叙述了。
解决方法
使用"分表法",所谓的"分表法"就是把信息表Info前最新的几万条或几十万条数据的主干取出来放另一个新的信息表NewInfo,
尽量遵循"在保证让用户能完整看到信息的前提下,表NewInfo里存的字段,越少越好,也尽可能减少表连接。"的原则。这样网站
首页和信息列表页显示数据就可以从NewInfo里读取。想一下从几万条取数据跟从几百万条中取数据当然是前者快了。也许您会有
疑问,那Info中其他的数据不要了吗?别急,看完您也许就会理解这样做并非不可。
当然,这样做也会对信息的修改带来一点麻烦(因为要保持数据的一致性)。但比较一下,你会发现利是大于弊的。
小结
分类信息网站在信息量大的情况下,每天都会有大量的信息出现。如果你要把几百万甚至几千万的数据都从数据库展现出来。
又有哪一位用户会看的完呢。再者用户需要的是及时的信息。
如果您有使用过"赶集网"或"58同城",您会发现它们的大部分信息来源也是当天的。