Ticket #7 (assigned enhancement)
缓存机制改造
| Reported by: | chenchongqi | Owned by: | yuanhuoqing |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | 商家后台 | Version: | 5.0 |
| Keywords: | Cc: | ||
| Due Date: |
Description
替换JPA缓存和同步机制,改造为使用memcached的方式。
Change History
comment:1 Changed 15 years ago by chenchongqi
- Priority changed from major to minor
- Status changed from new to assigned
- Owner set to yuanhuoqing
comment:2 Changed 15 years ago by yuanhuoqing
经过开会讨论分析,发生乐观锁的问题是jpa缓存同步不及时导致的,如果把jpa的缓存机制改为memcached工作量比较大,即是要分析哪些业务需要加上memcached,分析完后再为其加上对应的memcached。
最后讨论分析jpa的同步不及时有几方面的原因:
1、接收同步消息后处理同步的线程处理不过来;
2、通信延时;
3、刚好某台服务器的应用正在重启;
第一种原因是可以优化的,后两种原因是无法把控的。所以讨论结果是先对接收同步消息后处理同步的线程进行优化。
目前把接收同步消息和处理同步分开两条线程来处理,一条线程负责接收同步消息,一条线程负责处理同步缓存;
优化完了后对近期的log进行观察;乐观锁的问题有一定程度的改观,但是每天仍然平均有40多个乐观锁的错误。
现在应用仍然存在其他的bug,相信等这些bug都修复了,应用比较稳定的话jpa缓存不同步导致乐观锁的问题还会减少;
comment:3 Changed 15 years ago by yuanhuoqing
观察近期的日志,发现之前的统计有误,用grep -c 'JpaOptimisticLockingFailureException?' stderr_m.pconline.log*才正确的,发现现在每天乐观锁的问题是电信3台机每天10个以下,网通2台机每天15个左右。 这个数应该是比较合理的,因为网络通信、服务重启等客观原因是避免不了的。
Note: See
TracTickets for help on using
tickets.
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/global/2008/images/jss/m_logo091125.jpg)