Ticket #7 (assigned enhancement)

Opened 15 years ago

Last modified 15 years ago

缓存机制改造

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.