主题 : 网站计数器性能问题
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
11#   发表于:2018-09-05 10:10:21  IP:117.68.*.*
这是设计表的索引    具体的您要去查看下我们的代码逻辑  我们这是不做代码的解析的
每天告诉自己一次,“我真的很不错”。
级别: 解元
UID: 44799
积分:347 加为好友
威望: 4 精华: 0
主题:41 回复:110
注册时间:2013-03-12
在线时长:0.01
12#   发表于:2018-11-21 04:49:49  IP:1.70.*.*
还不光是这个问题呢,等每天0点之后,只要访问任意一个页面,就会把jc_site_access全表导出到java进行统计,这个统计一般要耗时7秒左右
而且还不是单例,如果此时并发量大,就会造成导出多次数据,数据库就会锁表查询
最终导致tomcat查询不到,线程锁死

估计jeecms官方没有做过并发测试,这自带的统计功能简直就是个大bug
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
13#   发表于:2018-11-21 09:01:29  IP:117.131.*.*
您好   请问您那边现在是有多大的访问量的时候会出现并发的情况?
每天告诉自己一次,“我真的很不错”。
级别: 解元
UID: 44799
积分:347 加为好友
威望: 4 精华: 0
主题:41 回复:110
注册时间:2013-03-12
在线时长:0.01
14#   发表于:2018-11-21 14:00:32  IP:1.70.*.*
回复第13楼

并发还真不高,也就是100左右,毕竟是凌晨0点的时候

但是mysql慢日志里面记录到这样的情况,我现在都没办法,代码看了挺久,没找到哪里执行的这段统计

级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
15#   发表于:2018-11-21 14:01:21  IP:117.131.*.*
好的   这个情况我和开发那边反馈下
每天告诉自己一次,“我真的很不错”。
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
16#   发表于:2018-11-21 14:03:35  IP:117.131.*.*
您那边可以先静态化页面暂时先解决下
每天告诉自己一次,“我真的很不错”。
级别: 解元
UID: 44799
积分:347 加为好友
威望: 4 精华: 0
主题:41 回复:110
注册时间:2013-03-12
在线时长:0.01
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卡死崩溃。。。。
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
18#   发表于:2018-11-21 14:51:44  IP:117.131.*.*
好的   我已经反馈到我们开发那边了  
每天告诉自己一次,“我真的很不错”。
|< < 1 2 共2页