主题 : 网站计数器性能问题 |
级别: 论坛管理员
|
11# 发表于:2018-09-05 10:10:21 IP:117.68.*.*
|
||||
---|---|---|---|---|---|
级别: 解元
|
12# 发表于:2018-11-21 04:49:49 IP:1.70.*.*
还不光是这个问题呢,等每天0点之后,只要访问任意一个页面,就会把jc_site_access全表导出到java进行统计,这个统计一般要耗时7秒左右
而且还不是单例,如果此时并发量大,就会造成导出多次数据,数据库就会锁表查询 最终导致tomcat查询不到,线程锁死 估计jeecms官方没有做过并发测试,这自带的统计功能简直就是个大bug |
||
---|---|---|---|
级别: 解元
|
14# 发表于:2018-11-21 14:00:32 IP:1.70.*.*
回复第13楼
并发还真不高,也就是100左右,毕竟是凌晨0点的时候 但是mysql慢日志里面记录到这样的情况,我现在都没办法,代码看了挺久,没找到哪里执行的这段统计 |
||
---|---|---|---|
级别: 解元
|
17# 发表于:2018-11-21 14:45:08 IP:1.70.*.*
回复第16楼
我要的就是动态化页面,现在用nginx缓存来临时解决一下,但是还是会经常发生 刚才查到代码了, //当天第一次访问统计昨日数据 if(firstVisitToday){ Thread thread = new StatisticThread(site.getId()); thread.start(); } 里面有这么一句 //统计最近 查询date之前最近的访问记录 CmsSiteAccess latestBefore=cmsSiteAccessMng.findRecentAccess(today, this.siteId); findRecentAccess方法 会返回当前日期之前,所有访问数据,如果这表里面包含几万行数据的时候,十分容易引起tomcat卡死崩溃。。。。 |
||
---|---|---|---|