精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-16
最后修改:2009-03-30
config.action_controller.session_store = :active_record_store 使得Session的存储采用active_record_store方式,测试一个很简单的请求: class QuickReController < ApplicationController def index render :text=>"OK!" end end 测试完毕之后将: # config.action_controller.session_store = :active_record_store 这句话注释掉,再测试该方法。 同样的部署,同样的压力, 发现采用active_record_store 方式Session存储的方法只有60TPS不到,没有采用Session存储的方法有260TPS!我的服务器是4*thin,前面用Apache做负载均衡。 请教下大家,有没有更好的方法让Session这个表的更新读取速度更快,或者换个更快的Sessin存储方式,但机制和active_record_store 类似,以避免出现大的改动。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-02-16
JavaEye是用默认的cookie store,挺好用的
|
|
返回顶楼 | |
发表时间:2009-02-16
默认的cookie store是适合session里面不需要保存大量对象的场景吧,
如果我有很大的对象要放到session里面,通过存储在客户端的cookie是不是不是很合适?还是应该放在服务器的某个地方。只是像active_record_store 这种方式存储的话,频繁的更新来更新去太影响速度。 |
|
返回顶楼 | |
发表时间:2009-02-16
很大的对象要放到session里面,这个问题本身也不合适
|
|
返回顶楼 | |
发表时间:2009-02-16
CharlesCui 写道 默认的cookie store是适合session里面不需要保存大量对象的场景吧,
如果我有很大的对象要放到session里面,通过存储在客户端的cookie是不是不是很合适?还是应该放在服务器的某个地方。只是像active_record_store 这种方式存储的话,频繁的更新来更新去太影响速度。 不建议放大对象到session(不论采用哪种session存储方式),针对不同的需求,你可以选择memcache/数据库内存或者普通表来放大对象,而session中只放这个对象对应的key。 |
|
返回顶楼 | |
发表时间:2009-02-16
我记得有个插件是调整 session ActiceRecord storage 的性能的,关键字是 session lazy loading,楼主可以搜索一下
简单的设置 session 为内存表可能也可以从一定程度上提高些许性能,仅供参考 |
|
返回顶楼 | |
发表时间:2009-02-16
session 默认为事务支持的table,不适合反复的更新。LS建议使用内存表,如果数据库支持那是最好的。但如MySQL因有BLOB或TEXT字段则无法使用Memory,但仍可使用MyISAM代替InnoDB获得较高的性能。
|
|
返回顶楼 | |
发表时间:2009-02-16
最后修改:2009-02-16
楼上的也很专业。
不过在DHH设计Rails时,如果使用active_record_store做Session的存储,为什么每次请求过来了都会更新该表?这样频繁的读写不是效率很低啊? 假设我就要用active_record_store方式,Rails有没有提供某个开关控制更新Session表的频率的?不要每个请求过来就更新下最新访问时间等字段,没必要。 |
|
返回顶楼 | |
发表时间:2009-02-17
It's open source, you can hack it as you like
|
|
返回顶楼 | |
发表时间:2009-02-17
rubynroll 写道 It's open source, you can hack it as you like 我想知道他为什么设计成每次访问过来都会更新一下sessions表,虽然rails自动在该表建立了index_sessions_on_session_id和index_sessions_on_updated_at这两个索引,但还是慢,大部分应用都不需要实时更新sessions表。 有控制这个更新频率的开关么?大家有发现么? |
|
返回顶楼 | |