2007-11-29
[转]千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记
关键字: MySQL CPU 100% 优化千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记
http://www.XiaoHui.com 2007-07-01 [原创]
最后更新于:2007-11-17关键字: mysql, cpu, 优化, optimize, cpu 100%, mysql cpu 100%, discuz 优化, mysql 优化, cpu 负荷
摘要 : 朋友网站使用 Discuz 论坛,目前 cdb_posts 表有记录1740万, cdb_threads 表有记录 11万,cdb_members 表有记录6.2 万,MySQL 占用 CPU 100%,导致系统假死,每天都要重启好几次。我针对这个问题, 对Discuz论坛作了一次优化
2007年3月,我写过一篇文章《解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》( http://www.xiaohui.com/weekly/20070307.htm ),谈到自己在解决一个拥有 60 万条记录的 MySQL 数据库访问时,导致 MySQL CPU 占用 100% 的经过。在解决问题完成优化(optimize)之后,我发现 Discuz 论坛也存在这个问题,当时稍微提了一下:
发现此主机运行了几个 Discuz 的论坛程序, Discuz论坛的好几个表也存在着这个问题。于是顺手一并解决,cpu占用再次降下来了。前几天,一位朋友通过这篇文章找到了我,说他就是运行最新的 discuz 版本,MySQL 占用 CPU 100%,导致系统假死,每天都要重启好几次,花了一个多月的时间一直没有解决,希望我帮忙一下。经过检查,他的这个论坛最重要的几个表中,目前 cdb_members 表,有记录 6.2 万;cdb_threads 表,有记录 11万;cdb_posts表,有记录 1740 万;所有数据表的记录加起来,超过 2000 万;数据库的大小超过 1GB。经过半天的调试,总算完成了 discuz 论坛优化,于是将其解决经过记录在这篇文章 http://www.xiaohui.com/dev/server/20070701-discuz-mysql-cpu-100-optimize.htm 中。
2007年3月我发现 discuz 论坛的数据库结构设计有一些疏忽,有许多查询子句的条件比较,都没有建立 Index 索引。当时我所检查的那个数据表,记录只有几千条,因此对 CPU 负荷不大。现在这个数据库表,上千万的记录检索,可以想象,如果数据表结构设计不规范,没有提供索引,所耗费的时间是一个恐怖的数字。有关 MySQL 建立索引的重要性,可以参见我的这篇文章底部的说明:http://www.xiaohui.com/weekly/20070307.htm
为了调试方便,我从 dizcus 的官网下载了其最新的 Dizcus! 5.5.0 论坛程序.
我首先检查了 my.ini 的参数配置,一切正常。进入 MySQL 的命令行,调用 show processlist 语句,查找负荷最重的 SQL 语句,结合 Discuz 论坛的源码,发现有以下语句导致 CPU 上升:
mysql> show processlist;
+-----+------+----------------+---------+---------+------+------------+---------
-----------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info
|
+-----+------+----------------+---------+---------+------+------------+---------
-----------------------------------------------------------------+
| 363 | root | localhost:1393 | history | Query | 0 | statistics | SELECT C
OUNT(*) FROM cdb_pms WHERE msgfromid=11212 AND folder='outbox' |
+-----+------+----------------+---------+---------+------+------------+---------
检查 cdb_pms 表的结构:
mysql> show columns from cdb_pms;
+-----------+------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------------+------+-----+---------+----------------+
| pmid | int(10) unsigned | NO | PRI | NULL | auto_increment |
| msgfrom | varchar(15) | NO | | | |
| msgfromid | mediumint(8) unsigned | NO | MUL | 0 | |
| msgtoid | mediumint(8) unsigned | NO | MUL | 0 | |
| folder | enum('inbox','outbox') | NO | | inbox | |
| new | tinyint(1) | NO | | 0 | |
| subject | varchar(75) | NO | | | |
| dateline | int(10) unsigned | NO | | 0 | |
| message | text | NO | | | |
| delstatus | tinyint(1) unsigned | NO | | 0 | |
+-----------+------------------------+------+-----+---------+----------------+
10 rows in set (0.00 sec)
这条语句: WHERE msgfromid=11212 AND folder='outbox',我们看到,在 cdb_pms 表中,msgfromid 字段已经建立了索引,但是,folder 字段并没有。目前这个表已经有记录 7823 条。显然,这会对查询造成一定影响。于是为其建立索引:
mysql> ALTER TABLE `cdb_pms` ADD INDEX ( `folder` ); Query OK, 7823 rows affected (1.05 sec) Records: 7823 Duplicates: 0 Warnings: 0继续检查:
mysql> show processlist;
+------+------+----------------+---------+---------+------+------------+--------
--------------------------------------------------------------------------------
--------------+
| Id | User | Host | db | Command | Time | State | Info
|
+------+------+----------------+---------+---------+------+------------+--------
--------------------------------------------------------------------------------
--------------+
|
| 1583 | root | localhost:2616 | history | Query | 0 | statistics | SELECT
t.tid, t.closed, f.*, ff.* , f.fid AS fid
FROM cdb_threads t
INNER JOIN cdb_forums f |
+------+------+----------------+---------+---------+------+------------+--------
--------------------------------------------------------------------------------
--------------+
1 rows in set (0.00 sec)
这条 SQL 语句是针对最重要的数据表 cdb_threads 进行操作的,由于 show processlist 没有将这条 SQL 语句全部显示完全,经对比 Discuz 论坛的源码,此SQL语句的原型位于 common.inc.php 的 Line 283,内容如下:
$query = $db->query("SELECT t.tid, t.closed,".(defined('SQL_ADD_THREAD') ?
SQL_ADD_THREAD : '')." f.*, ff.* $accessadd1 $modadd1, f.fid AS fid
FROM {$tablepre}threads t
INNER JOIN {$tablepre}forums f ON f.fid=t.fid
LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid $accessadd2 $modadd2
WHERE t.tid='$tid'".($auditstatuson ? '' : " AND t.displayorder>=0")." LIMIT 1");
经检查,数据表 cdb_threads, 并没有针对 displayorder 字段建立索引。在 discuz 论坛中,displayorder字段多次参与了 Where 子句的比较。于是为其建立索引:
mysql> ALTER TABLE `cdb_threads` ADD INDEX ( `displayorder` ); Query OK, 110330 rows affected (2.36 sec) Records: 110330 Duplicates: 0 Warnings: 0此时 cpu 已经轻微下降了一部分。
继续检查,发现 下面这条 discuz 的 SQL 语句,也导致负荷增加,这条语句位于 rss.php 程序中的第 142 行。
$query = $db->query("SELECT t.tid, t.readperm, t.price, t.author, t.dateline, t.subject, p.message
FROM {$tablepre}threads t
LEFT JOIN {$tablepre}posts p ON p.tid=t.tid AND p.first=1
WHERE t.fid='$fid' AND t.displayorder>=0
ORDER BY t.dateline DESC LIMIT $num");
在这个 Order by 子句中,用到了 cdb_threads 表中的 dataline 字段。这个字段是用来存储 unixtime 的时间戳,在整个论坛程序中,大部分时候数据的排序也是基于这个字段,竟然没有建立索引。于是加上:
mysql> ALTER TABLE `cdb_threads` ADD INDEX ( `dateline` ); Query OK, 110330 rows affected (12.27 sec) Records: 110330 Duplicates: 0 Warnings: 0查找占用 CPU 高负茶的 SQL 语句,是一件麻烦而又枯燥的事,需要一条一条排除、分析。后面的工作,都是依此类推,经过检查,共查出有八处地方,需要增加索引,如果你也碰到了 discuz 论坛导致 cpu 占用 100% 的情况,可以直接将下列语句复制过去,在 mysql 的命令行下执行即可:
ALTER TABLE `cdb_pms` ADD INDEX ( `folder` ); ALTER TABLE `cdb_threads` ADD INDEX ( `displayorder` ); ALTER TABLE `cdb_threads` ADD INDEX ( `dateline` ); ALTER TABLE `cdb_threads` ADD INDEX ( `closed` ); ALTER TABLE `cdb_threadsmod` ADD INDEX ( `dateline` ); ALTER TABLE `cdb_sessions` ADD INDEX ( `invisible` ); ALTER TABLE `cdb_forums` ADD INDEX ( `type` ); ALTER TABLE `cdb_forums` ADD INDEX ( `displayorder` );注意:“cdb_” 是 discuz 论坛的默认数据表前缀。如果你的表名前缀不是 “cdb_”,则应该改成你对应的表名。例如:my_threads, my_pms 等等。
完成这些结构的优化之后,整个系统的 CPU 负荷在 10%~20%左右震荡,问题解决。
我很奇怪,设计数据库结构,是一个数据库开发人员的基本功,discuz 论坛好歹也是一个发展了有六七年的论坛了,为何数据库结构设计得如此糟糕?我想也许有如下三个原因:
- 数据库开发人员设计时本身的疏忽
- 故意留下的缺陷,当普通论坛没有上数量级的记录时,不会感觉到这个问题,当数据量增大(例如千万级),此问题突现,以便针对用户提供个性服务收取服务费.呵呵,估且以最大的恶意来猜测此事,玩笑而已,不必当真。:)
- 另一个可能就是用户的论坛是从低版本升级而来,程序升了级,但数据结构也许没有做相应的更新
附1: 补充笔记 2007-07-09
今天查看网站日志的 reffer, 发现在 discuz 的官方论坛上,有人就此文引起了一些争论: http://www.discuz.net/thread-673887-1-1.html。discuz 的管理员和管理员有如下言论:
引用自 cnteacher:显然将问题推给插件的原因是不正确的.举个简单的例子:在最新的 discuz 5.5.0 forumdisplay.php 第183 行,有如下语句:
恰恰相反,discuz 的优化措施和数据库的索引是按照大规模论坛设计的。
TO 一楼:数据库结构的设计都是按照程序应用来进行的,使用任何非Discuz! 标准版本以外的代码和程序,或者变更标准数据结构,均可能遇到不可预知的各种问题。
引用自 童虎:
你们可以看看xxxxx, xxxx之类的比较大型的网站,这种网站使用dz论坛都没有问题,说明dz标准程序是没有问题,出现楼主说的情况,多半属于服务器或者安装一些插件造成的
$query = $db->query("SELECT uid, groupid, username, invisible,
lastactivity, action FROM {$tablepre}sessions
WHERE $guestwhere fid='$fid' AND invisible=0");
这里的 invisible 并没有建立索引。本文中有评论认为 session 表是内存表, 速度会很快。理论是如此。不过我在 show processlist 中,观察到上面这条语句占用了大量 CPU, 所以也将其一并加上了 index。cdb_threads 中的 closed 等字段, 也多次参与 where 运算, 也没有建立索引。这些运算的语句, 是 discuz 自己的程序中的。 附2: 补充笔记 2007-11-11
自从这篇笔记发表以来,在我的这篇文章的评论、以及我的联系消息中,就经常收到许多下面两种类型的评论和邮件:一、许多技术人员批评我胡说八道、Dizcus 论坛不需要做优化或者不能乱建索引的;二、许多使用Dizcus 的站长找我“冰天雪地裸体”解决他们的 CPU 占用 100% 的问题。关于 MySQL 数据库优化技术上的争论,我的观点再次声明如下:
- 技术上的争论是可以放开了讨论的。而我的水平也确实只是半瓶子水,对数据库的理论知识也只懂这么点,牛牛们的批评,我虚心接心,非常感谢。但是,评论里的批评不要上升到人身攻击,否则,我的地盘我作主,直接删除。我喜欢听好话,请大家理解一个三○男人的这点可怜的虚荣心。:)
- 数据库的优化,要涉及到的方方面面很多。关说理论是没有用的,得靠事实说话。一个千万级数据库的实例优化说明不了问题,两个千万级的数据库优化也许还说明不了问题,但我相信,三个、四个、五个总是可以说明问题的,--截止到 2007.11.09,我已经帮助朋友优化过五个记录数超过 1000 万的 discuz 论坛了。优化之前,cpu 都是 100%;优化之后,cpu 降到 30%~40% 左右。我想事实胜于雄辩。
关于找我帮忙解决数据库优化的评论和邮件,答复如下:
- 数据库的优化,不同的版本有不同的实际情况,优化一个 database,短则三两小时,慢则半天一天。请大家理解一个三○老男人养家的压力,我的精力有限,不可能一一帮到。
- 对于个人网站,我可以在周六周日的空余时间内帮忙。请事先与我联系好。
- 对于商业网站,嗯嗯,自觉点,请带价格与我联系,或者直接安排美女请我吃饭,否则免谈。:)
附3: 补充笔记 2007-11-17: 关于装有首页四格插件的 dz 论坛导致 MySQL 占用 大量CPU 的分析
今天手机巴士的站长( http://bbs.sj84.com )找到我,他的基于 Discuz 的论坛,也存在 CPU 占用 100% 的问题,服务器从 Win 2003 换到 CentOS,内存 2G, CPU 1.86G, 数据:cdb_threads 4 万,cdb_posts 96 万,cdb_members 35 万,已经按我上面文章所说的优化过索引。按说这个配置足够运行论坛了,但问题一直得不到解决。经过调试,将慢查询的结果 dump 到 /usr/local/mysql/var/localhost-slow.log,运行 /usr/local/mysql/bin/mysqldumpslow /usr/local/mysql/var/localhost-slow.log 查看,结合 show processlist 命令,发现慢查询集中在下列语句:
SELECT t.*, f.name FROM cdb_threads t, cdb_forums f WHERE t.fid<>'S' AND f.fid=t.fid AND f.fid NOT IN (N,N,N,N) AND t.closed NOT LIKE 'S' AND t.replies !=N AND t.displayorder>=N ORDER BY t.views DESC LIMIT N, N然而搜索 Dizcus 论坛的源码,并没有找到这行代码。怀疑是插件的原因。经查,论坛装了首页四格的插件,这行语句位于 include/toplist.php 中: 仔细检查这行代码,发现存在许多性能或语法规范上的问题:
- AND t.closed NOT LIKE 'S':t.closed 是数值字段,不应该用 LIKE 'S' 的形式参与比较。
- ORDER BY t.views: t.views 在 dizcus 的原始数据表中,是没有做索引的。
- SELECT t.*: 这种写法,是不被推荐的。如果要选择某个表内的所有字段,最好是按实全部写出来,例如:select t.aa, t.bb, t.cc, t.dd, ...
- WHERE t.fid <> 'S': t.fid 是数值型字段,不应该写成 字符比较的形式。这个对性能影响不大,是个编程规范的问题。
- ....
toplist.php 的其他三条 sql 语句,都存在这些问题。如果要针对他的 sql 语句去优化 MySQL 结构,会带来不良的后果;如果直接改他的 toplist.php 程序,如果站长以后升级 toplist.php 又怕带来不兼容问题。于是我建议他干脆关闭首页四格插件。
关闭首页四格插件之后,CPU 降到 18% 左右震荡,表现非常良好。
如果是我来写首页四格的程序,我不会采用这种方案,我会用定时15分钟或30分钟查询一次数据库,将结果写入 TXT 文件或临时表,然后程序再从中读取,效率会高许多。
结论:
- 如果装了插件的论坛碰到 CPU 高负荷时,建议关掉插件再评估性能。
- 慎装第三方插件。没事不要乱插。:)
附4: 相关文章:
解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记第1楼 hcy1122 写于 2007-07-01 12:24
支持你,小辉!我们要继续努力
你现在在哪呢?好久没有你写关于自己的随笔了
XiaoHui 回复于 2007-07-02 01:06 :
在长沙.:)
在长沙.:)
第2楼 游客 写于 2007-07-02 09:02
索引不是越多越好,建立了索引之后,插入更新速度就是非常慢,只是select能比较快,这两者之间要有一个均衡点 第3楼 pzhai 写于 2007-07-02 09:33
估计discuz!越来越看重中小论坛的市场了吧 ,再说本来mysql对海量数据就不太友好,发展瓶颈吧 第4楼 vagabond 写于 2007-07-09 11:07
写不得不错啊,大哥现在从事什么工作程序员出来都了什么工作
第5楼 继续革命 写于 2007-07-10 09:05
$query = $db->query("SELECT uid, groupid, username, invisible,lastactivity, action FROM {$tablepre}sessions
WHERE $guestwhere fid='$fid' AND invisible=0");
session 表为内存表,且定长,且频繁写入,且行数较少,在不建立的索引的情况下速度亦十分之快,建立过多的索引,反而会降低写入和更新的效率。楼主的网站如果在线人数达到1w,你再看是什么效果?
XiaoHui 回复于 2007-07-10 22:06 :
多谢指正. 抱歉, 我没有注意到 session 表是内存表. 我在 show processlist 观察到这条语句占用 cpu 比较频繁, 加上 index 之后, 效果有改善. 当然, 有更多的例子, 例如 cdb_threads 的 closed 字段, dataline 字段等.
一个事实是: 在添加了这些 INDEX 之后, 目标主机的 CPU 由100% 降到了 10~20%. 另外声明一下, 文中所说的主机不是我的, 我只是帮朋友处理一下.:)
多谢指正. 抱歉, 我没有注意到 session 表是内存表. 我在 show processlist 观察到这条语句占用 cpu 比较频繁, 加上 index 之后, 效果有改善. 当然, 有更多的例子, 例如 cdb_threads 的 closed 字段, dataline 字段等.
一个事实是: 在添加了这些 INDEX 之后, 目标主机的 CPU 由100% 降到了 10~20%. 另外声明一下, 文中所说的主机不是我的, 我只是帮朋友处理一下.:)
第6楼 mad_frog 写于 2007-07-12 11:46
discuz的这些所谓的优化,有些是不错的比如dateline的问题,但是你也应该知道如此(上千万级)数量的数据,做不做这样的索引优化,是有实际条件的,数据更新的频繁度导致了他们不敢这么做索引,这是论坛呀,不是文章管理系统。更新的占多数。 第7楼 Rocky_Li 写于 2007-08-14 17:35
小辉加油!我看好你! 第8楼 rq 写于 2007-09-06 16:37
小辉,我认为discuz没有这么多所谓的索引问题优化千万级数据量的数据库最好是在硬件上下功夫,例如加大内存,使用SCSI磁盘阵列,或者直接使用多服务器负载均衡。
另外说说索引:
大多文中提到没有建立的索引其实都在复合索引中,是和查询语句相匹配的
例如:cdb_pms表中有msgfromid索引(msgfromid+folder+dateline),就对应WHERE msgfromid=11212 AND folder='outbox' ORDER BY dateline DESC这个查询,在多条件的查询中,复合索引命中率会比较高,效率要比单独建立msgfromid,folder,dateline三个索引效果好,并且节省资源。
同样cdb_thread的displayorder,closed也不必单独再建立索引,因为在文中提到的查询条件中tid已经是聚集+唯一索引,数据库查询优化器不会因为后面的条件受影响的:)
discuz在索引的设置上我认为是合理的。
索引加速了读取速度,但是也降低了写入和更新的速度,我认为索引要用到频繁读取的地方,例如帖子列表/帖子内容这样的地方。在小辉提到的2kw级别的bbs,在线人数/发帖回帖量都是一个比较大的规模,所以使用索引的平衡点更加重要。
100%资源占用造成的问题我想是因为mod使用不当,例如今日发帖排行、今日新帖、今日热帖一类的功能,这些查询才是罪魁祸首,小辉可以试试去掉所有插件后CPU还是不是这么高。
XiaoHui 回复于 2007-09-07 10:34 :
多谢批评指正. 复合索引这块我了解.
我后来查看了一下, 造成这个现象, 有两个原因:
1. 用户升级论坛程序之后, 没有升级数据表的结构. 新近的程序, 采用的数据表结构也不一样, 索引也不一样. 用户没有升级这块, 所以造成查询耗时. 这个原因, 是由于我在查看用户实际的数据表结构与 discuz 最新安装程序的 install SQL 时发现的.
2. discuz 本身有部分没有考虑到索引的问题. 这个我在查看最新的 discuz 论坛源码以及 install SQL 源码时, 得到的验证.
但总的来说, 以第一条原因居多. 所以我在文中对 discuz 的指责, 确实有些过于偏激. 在此愿意表示道歉.
索引的滥加确实会造成写入和更新的速度. 但我觉得这篇文章里提到的更改方式, 应该是正确的. 毕竟有一个看得见的 2kw 记录实际解决效果在这里.
多谢批评指正. 复合索引这块我了解.
我后来查看了一下, 造成这个现象, 有两个原因:
1. 用户升级论坛程序之后, 没有升级数据表的结构. 新近的程序, 采用的数据表结构也不一样, 索引也不一样. 用户没有升级这块, 所以造成查询耗时. 这个原因, 是由于我在查看用户实际的数据表结构与 discuz 最新安装程序的 install SQL 时发现的.
2. discuz 本身有部分没有考虑到索引的问题. 这个我在查看最新的 discuz 论坛源码以及 install SQL 源码时, 得到的验证.
但总的来说, 以第一条原因居多. 所以我在文中对 discuz 的指责, 确实有些过于偏激. 在此愿意表示道歉.
索引的滥加确实会造成写入和更新的速度. 但我觉得这篇文章里提到的更改方式, 应该是正确的. 毕竟有一个看得见的 2kw 记录实际解决效果在这里.
第9楼 iamxyh 写于 2007-10-11 07:30
支持小辉的观点,不管理论怎么好,要看实际效果嘛. 第10楼 shenlag 写于 2007-11-10 09:23
小辉的这两篇文章都认真的学习了!对MYSQL很不懂!我这边也是这样的问题,MYSQL占用服务器CPU很大!!POSTS表数据是20万!搞的论坛上到处都有人抱怨速度太慢!很郁闷!
看到下边的几个回复,也不敢擅自改了!我该怎么办?还请小辉能帮下忙!留个QQ好吗?或是直接加我:38514999,希望小辉能在百忙中帮下我的忙!很着急
XiaoHui 回复于 2007-11-10 22:52 :
你先确认是一下,是不是 MYSQL 导致的 CPU 占 100%. 具体可以进入任务管理器,查看 mysqld-nt.exe 或 mysql.exe 这个进程占用 CPU 的情况. 如果确实是它,你再找我。否则我也不能担保解决问题。
你先确认是一下,是不是 MYSQL 导致的 CPU 占 100%. 具体可以进入任务管理器,查看 mysqld-nt.exe 或 mysql.exe 这个进程占用 CPU 的情况. 如果确实是它,你再找我。否则我也不能担保解决问题。
第11楼 秋秋 写于 2007-11-10 22:25
现在是晚上11点,看到你的主页,你的一些照片和你的自传经历,感觉很敬佩你……当然,进入你主页的原因是从dz那边看到有朋友推介你的一篇文章:千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记
我看了之后,觉得你说的很对,虽然我不知道你在说什么,但我知道你应该能帮助到我……
呃……我的论坛,现在好像很慢,不知道是不是mysql的原因
如果你用空的话,能加我一下么,指导一下,感激不尽……
我的qq:156994
非常感谢,祝你的程序员之路越走越远,你的理想也早日实现!
o(∩_∩)o...
XiaoHui 回复于 2007-11-10 22:48 :
你先照我的文章看对照看一下。另外,查看一下任务管理器,你的 MYSQLD-NT.EXE 的程序,占用CPU是否极高。如果不是,则不是 MYSQL 的原因了。
你先照我的文章看对照看一下。另外,查看一下任务管理器,你的 MYSQLD-NT.EXE 的程序,占用CPU是否极高。如果不是,则不是 MYSQL 的原因了。
第12楼 陆林 写于 2007-11-10 23:28
dizcus 的论坛网络上有这么多人用,有问题他们自己开发者难道不会解决?数据都是有缓存的,关索引屁事啊。 第13楼 时空论坛 写于 2007-11-10 23:34
刚才逛 dizcus 官网,发现有人在争论小辉的这篇文章,从那边点过来的。呵呵,原来这里也这么热闹。第12楼的,我的网站也用是的 dizcus 的论坛,数据记录有 1300千万条,月初找到小辉,正好他有空,一个多小时就帮我解决了。事实胜于雄辩,有些东西,需要海量数据是验证的。一般的小数据量也许说明不了问题。
第14楼 cn256 写于 2007-11-12 16:18
你好,我想问下,除了DZ出现此问题外,我的站主要是SS出现MYSQl占CPU 100%的问题,有没有SS的解决办法?谢谢。
XiaoHui 回复于 2007-11-13 12:48 :
第15楼 cn256 写于 2007-11-12 21:02
SS就是SupeSite/X-Space,在DZ官方论坛有专栏的。数据库也是用MYSQL,我的站经常因这样被DOWN,很是郁闷,希望能得到你的帮助,谢谢!
祝你工作顺利,身体健康,全家幸福!
XiaoHui 回复于 2007-11-13 12:49 :
如果确定是 MYSQL 占用的额度高,你可以进入本站的 个人消息中心( www.xiaohui.com/msg/ )与我联系。我周六可以帮你看看。
如果确定是 MYSQL 占用的额度高,你可以进入本站的 个人消息中心( www.xiaohui.com/msg/ )与我联系。我周六可以帮你看看。
发表评论
- 浏览: 42953 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最近加入圈子
链接
- Hibernate Tag 参考手册(中文翻译版1.0)
- 闲聊日语张宏
- 《NeoSpeech语音合成英、中、韩、日朗读引擎》
- 《新版中日交流标准日本语广播讲座初级》同步更新,2006年6月5日,更新全部ISO文件,最后更新[MP3!]
- 《番茄花园 Windows All In One DVD 特别版》[ISO]
- 中 国 DOS 联 盟
- 新DOS时代
- 《虚拟工作站 6.0.1 Build 55017》(VMware Workstation 6.0.1 Build 55017)VMware Workstation 6.0.1 Build 55017
- 《经典2D即时战略游戏集》(Classic 2D-RTS Games Collection)完美硬盘版
- 标题: 关于DOS游戏在XP系统下运行的简单总结!, 新版VDMSound和DOSBox已经出炉啦!
- DOSBox / VDMSound常見FAQ
- D - F e n d 簡 單 教 學
- Get It Done with MySQL 5
- 《沪江日语原创作品资料集(新增交响情人梦)》(jp.hjenglish.com)合辑
- SQL语句教程 - 由范例学习SQL语句
- 飞奔·慢行
- 地铁换乘/时间/价钱
最新评论
-
Hibernate3.x调用存储过程 ...
您好!hibernate提供的在*.hbm.xml中配置调用存储过程,关于< ...
-- by cheatsky -
KMP字符串模式匹配详解
我虽然曾经学过,看来一下感觉有些时候还是比较难理解!
-- by zhoujj303030 -
一个老IT人的自白:看十年 ...
我不认同三星有多牛,说白了,我认为高丽棒子做的东西真的一般般
-- by xbwolf -
JavaTiger(Java5.0) 新特 ...
感谢分享,解决了我的困惑
-- by onwulc -
磨刀不误砍柴功—难忘的Ja ...
...
-- by wcj10051891






评论排行榜