|
楼主 |
发表于 2008-4-15 11:08:33
|
显示全部楼层
可有楼上没明白我的意思,我知道ci可以连接不同的数据库,但没有办法降低数据库负载。真正的大型网站,读写数据库应该是分开的,而读库可能有几天甚至几十台。结果应该类似
<bar>
<main>192.168.1.1|web_bar|</main>
<query>192.168.1.2|web_bar</query>
<query>192.168.1.3|web_bar</query>
等等
</bar>
<cms>
<main>192.168.2.1|web_cms</main>
<query>192.168.2.2|web_cms</query>
<query>192.168.2.3|web_cms</query>
</cms>
然后,所有的insert、update、delete等操作,直接对main进行操作,而所有select语句,都会在query数据库中执行,而我需要关心的,应该到底是bar,还是cms,框架应该自己完成对哪个库的操作。
读库常用的方法就是每次请求都随机取一个query库,这样假设每秒有1000个数据库请求,有10天query库,每台每秒处理的请求就是100个,可以大大降底数据库压力。
目前CI虽然可以指库数据库,但这种对模块操作可能更适合,无法降低负载。所以希望有人能给出解决办法。这也是这个框架我目前发现的唯一不足。不过这个应该是比较容易解决的,如果官方能解决了最好,实在不成,我只能抽时间自己解决了,不过又担心以后升级上的麻烦。 |
|