锁定老帖子 主题:[问题]缓存与性能的关系
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-27
缓存与性能,似乎是一对矛盾统一的事物。不知道各位在设计系统的时候是怎么协调这两者的关系呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-03-27
这个似乎比较容易决定。
可以看得出,用空间换时间。 简单说,如果内存可以配得很多,那么可以更多的是用缓存。 事实上,现在内存的价格相比软件,或硬件的整体价格来说,是便宜的,所以可以搭配数G的内存。 因此,你的机器1G,还是小了点。当然要看具体软件的目标。 不过,可以更好一点的是,缓存可以手动或自动调整大小,这样可以有效地适应具体内存数目。 |
|
返回顶楼 | |
发表时间:2007-03-27
缓存其实就是以空间换速度,另外缓存也可以以内存以外的形式实现。不觉得缓存与性能有矛盾,关键是要要把握一个度,显然在将整个数据库缓存与将常用表缓存之间存在巨大的差距。
|
|
返回顶楼 | |
发表时间:2007-03-27
lintomny 写道 缓存与性能,似乎是一对矛盾统一的事物。不知道各位在设计系统的时候是怎么协调这两者的关系呢? 1,如果项目满足性能需要就不需要再去做什么缓存了,只要温和的超出客户期望而不要走得太多。 2,象你说的数据库整个都做缓存实在是没有必要,为什么呢,因为没有考虑缓存的使用率,只有被频繁使用的数据做缓存会收到良好的效果,其实也就是要考虑缓存命中率的问题 |
|
返回顶楼 | |
发表时间:2007-03-27
缓存要用的其所!
为什么要用缓存,是因为有些对象的构造是非常Expensive的,而缓存整个数据库实在让人费解.如果缓存了整个数据库,如果要进行任何的改动岂不是要同时对缓存和数据库进行改动,那缓存的意义何在? 而已内存换速度的做法一直就是提高响应的最佳实践,内存,cpu都不值钱的,1台服务器不够用2台,2台不够用3台,这种前期的投入是可以看的见的,2次开发的损失才是不可估计的 |
|
返回顶楼 | |
发表时间:2007-03-27
缓存不能滥用
要用在关键的地方 |
|
返回顶楼 | |
发表时间:2007-03-27
缓存有2个地方需要注意:
1、值得缓存,经常用的才值得。据以前同事的说法,多数系统都是90%的时候在用10%的数据。 2、同步的代价会不会太高,有些数据变更得太频繁,那么可能就要经常与数据存储的地方进行同步,这会带来相当大的性能损失。要缓存这些数据就要考虑是否支付得起这种损失。 |
|
返回顶楼 | |
发表时间:2007-03-27
楼上的都分析的很清楚了
|
|
返回顶楼 | |
发表时间:2007-03-27
换成8g的
|
|
返回顶楼 | |
发表时间:2007-03-27
像数据字典这种是必须要缓存的了,
不过因为缓存效果实在是好,我曾经就起了缓存整个数据库的念头, 以sql,分页参数为key,在512M内存机器上缓存查询结果, 导致硬盘灯常年闪不灭, 终于某一天,重启服务器后,硬盘坏掉了... 不过最后结果皆大欢喜: 数据没丢,硬盘重新申请了一块, 原来的那块没过保修,很快修好喽, 从此我又多了块硬盘用了哈哈 |
|
返回顶楼 | |