Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑问] SupeSite一和论坛聚会mysql就崩溃了,帮忙解决一下

[复制链接]
dzhope 发表于 2009-11-11 10:15:14 | 显示全部楼层 |阅读模式
linux系统
论坛版本:discuz6.1
SupeSite版本:
程序代码文件版本: 6.0.1 UC (20081017)   程序数据结构版本: 4.0.1 UC

目前论坛和SupeSite是分开两个数据库的,两个一聚会论坛就出现众多locked,mysql就崩溃了,关闭SupeSite就没问题了,怀疑都是由于个人空间聚会论坛回复的问题。
论坛post表是1.5G

慢查询一般都是这个
SELECT t.author, t.readperm, t.tid, t.subject, t.fid, t.views, t.replies, t.dateline, t.lastpost, p.message FROM `bbs`.`cdb_threads` t, `bbs`.`cdb_posts` p WHERE t.authorid='135818' AND t.displayorder>=0 AND p.tid=t.tid AND p.first=1 ORDER BY t.tid DESC LIMIT 0,10;

请问如何解决呢?是否可以取消SupeSite聚会的论坛的回复??
 楼主| dzhope 发表于 2009-11-11 10:28:23 | 显示全部楼层
没人来帮忙看一下啊
回复

使用道具 举报

lidq.jingwu 发表于 2009-11-11 10:31:19 | 显示全部楼层
你说的论坛崩溃,程序报的错误代码是什么?
回复

使用道具 举报

黄群友 发表于 2009-11-11 10:48:25 | 显示全部楼层
你说的论坛崩溃,程序报的错误代码是什么?
lidq.jingwu 发表于 2009-11-11 10:31



说清楚点。。。
回复

使用道具 举报

 楼主| dzhope 发表于 2009-11-11 10:50:53 | 显示全部楼层
mysql出现大量locked进程,然后mysql达到最大并发连接数了。too many Connections。不论将并发连接数改到多少,不一会就达到最大连接数了。
回复

使用道具 举报

 楼主| dzhope 发表于 2009-11-11 10:56:08 | 显示全部楼层
在phpmyadmin里执行

SELECT t.author, t.readperm, t.tid, t.subject, t.fid, t.views, t.replies, t.dateline, t.lastpost, p.message FROM `bbs`.`cdb_threads` t, `bbs`.`cdb_posts` p WHERE t.authorid='135818' AND t.displayorder>=0 AND p.tid=t.tid AND p.first=1 ORDER BY t.tid DESC LIMIT 0,10;


显示行 0 - 3 (4 总计, 查询花费 18.4848 秒
这个是不是有问题呢?
回复

使用道具 举报

 楼主| dzhope 发表于 2009-11-11 10:59:16 | 显示全部楼层
本帖最后由 dzhope 于 2009-11-11 11:00 编辑



cdb_threads 表的索引



cdb_posts 表的索引
回复

使用道具 举报

lidq.jingwu 发表于 2009-11-11 11:26:41 | 显示全部楼层
聚合论坛并不会产生太多的mysql进程的,上面的SQL是怎么找到的,分析的mysql日志吗?
回复

使用道具 举报

littlehz 发表于 2009-11-11 13:03:01 | 显示全部楼层
explain一下看看。
  1. EXPLAIN SELECT t.author, t.readperm, t.tid, t.subject, t.fid, t.views, t.replies, t.dateline, t.lastpost, p.message
  2. FROM `cdb_threads` t, `cdb_posts` p
  3. WHERE t.authorid = '3'
  4. AND t.displayorder >=0
  5. AND p.tid = t.tid
  6. AND p.first =1
  7. ORDER BY t.tid DESC
  8. LIMIT 0 , 10
复制代码
先做索引的筛选,再作非索引,把过滤条件多的放前面,这样的SQL语句效率应该没有问题。
MySQL上有Qcache么?Linux还是Windows的系统?
回复

使用道具 举报

 楼主| dzhope 发表于 2009-11-11 13:33:19 | 显示全部楼层
聚合论坛并不会产生太多的mysql进程的,上面的SQL是怎么找到的,分析的mysql日志吗?
lidq.jingwu 发表于 2009-11-11 11:26



   语句是慢查询日志里来的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 17:49 , Processed in 0.047317 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表