无知者 发表于 2005-4-18 11:07:58

[注意]动网论坛数据库死锁的应对之策(PS:权宜之计)

这个贴子对于翔鹰论坛还是有关系的。故转过来给大家看看,特别是教皇。教皇负担着整个论坛的管理和发展,有些技术方面的问题不可不查。
<FONT color=#0000ff>这两天老见有人问数据库锁死的问题,那就发一个吧~</FONT>
<FONT color=#0000ff>想必很多朋友都是使用虚拟主机空间放置论坛的,空间和CPU占用率都有限。
如果论坛访问量水量很大,比如200人在线(20分钟超时设置),每日贴数500以上,这种情况下,ACCESS数据库会很快增加到100M左右,上传图片文件也会疯长。
这样一来,空间马上就紧张了。而且由于ACCESS的特点,系统对ACCESS的每个操作都要先锁定整个数据库,操作结束后再解锁。因此,当ACCESS库超过100M,论坛就会发生LAG,也就是非常卡,打开一个帖子常常要几十秒。
一旦超过150M加上在线人数较多那就会发生死锁,要克服这种LAG,最好的办法当然是换用SQL SERVER类型的企业级产品。SQL SERVER这类产品进行操作的时候,只是锁定单条记录,而不是锁定整个库,且有多任务和多线程能力,所以,效率会提高很多,再也不会有lag。
可是,一般小网站,没有这个能力花费巨资搞自己的主机,也租不起SQL SERVER,只能用ACCESS+asp空间,又该怎么办呢?下面简单介绍一个办法。
1. ACCESS库不能超过100M,否则必然会出现LAG;如果不想超过100M,那么必须定期删除无价值的旧贴;想必很多朋友已经这么做了。
2. 帖子要分数据表保存,建议分为2个数据表,可以提高一部分效率;数据表也不宜过多,否则管理难度加大;旧贴都存放于数据表1,新贴存放于数据表2,定期把数据表2的前面的记录向数据表1转移。这样删除旧贴都是删除数据表1里的帖子,新贴都发在数据表2,形成动态平衡,可以保证数据库稳定和运行效率。
3. 旧贴删完,可以用后台管理,先备份数据库,再压缩备份库,再把压缩过的备份库恢复,就可以达到数据库减肥的
4. 数据库里的旧帖子旧短信删除完压缩完,论坛速度应该就能提起来了。个人经验ACCESS库在100M以下,论坛速度还可以忍受。
5. 关于上传图片文件,长期无人访问的旧图旧文件,也可以删除了,以节约论坛空间。</FONT>
<FONT color=#0000ff>以上均为权宜之计,要想彻底摆脱数据库死锁,还是得换好一点的空间和MSSQL数据库~</FONT>
以上为转贴内容。现在我们的数据库大小已经超过100M了,之所以还没有出现太卡的情况(至少我没感觉到),是因为我们的在线人数很少。

冯逍遥 发表于 2005-4-18 19:04:16

                  同感,不过多少还是有些卡                  当年在火箭筒杯颁奖晚会上就充分体现了这一点                  好象才几十个人在灌,结果论坛就差点卡死

CQJ-丝丝记忆 发表于 2005-4-19 15:52:53

要删旧贴也要正确区分出哪些有必要删,哪些没必要删。既然暂时没什么问题,就姑且放之,别有良图。

无知者 发表于 2005-4-22 22:17:49

人一多就会出问题,今天上来时曾发生过“用户太多,无法访问”的情况。需要访患于未然。换空间的可能性不大,所以删旧贴和压缩数据库是迟早要做的事情。

CQJ-丝丝记忆 发表于 2005-4-22 22:20:37

说的也是,未雨绸缪也是件好事。网虫乱弹以前的“聊天贴”比较多,一些帖子对于现在我们来说是没有意义的(当然转贴不算),倒是可以考虑先拿来开刀,删些老贴。

天日 发表于 2005-4-22 22:46:02

我认为可以在保留个人的积分等数值的前提下删除365天以前的所有非精华贴

CQJ-丝丝记忆 发表于 2005-4-22 22:59:47

天日这样的作法太笼统,我认为还是要选删。虽然精华贴是一种证明,一种资格,但对于论坛来说许多非精华贴一样有很高的阅读余地,有些也是论坛的宝贵财富,一并删去太可惜,越是久远的东西就越是珍贵。

天日 发表于 2005-4-22 23:09:26

这样教皇们的工作量就大得多了。而且考虑到没有那么多人喜欢翻旧贴,所以至少乱弹里的一些掉牙没有留着的必要。当然,所有的战役当然是要求全部保存下来的

CQJ-丝丝记忆 发表于 2005-4-22 23:34:06

可以试试看一个版一个版的清理,好比先拿网虫乱弹开刀,如果删去许多聊天贴的话估计可以省下一定的空间,因为相对来说,网虫乱弹版区的客流量是最大的。

无知者 发表于 2005-4-22 23:52:27

<TABLE cellSpacing=1 cellPadding=5 align=center>

<TR>
<TH align=left colSpan=3 height=24>· 板块发贴排行:</TH></TR>
<TR>
<TD class=tablebody2>1</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=18" target="_blank" >网虫乱弹</A></TD>
<TD class=tablebody2>22630</TD></TR>
<TR>
<TD class=tablebody2>2</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=48" target="_blank" >站务讨论</A></TD>
<TD class=tablebody2>12372</TD></TR>
<TR>
<TD class=tablebody2>3</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=10" target="_blank" >战役制作技巧</A></TD>
<TD class=tablebody2>8141</TD></TR>
<TR>
<TD class=tablebody2>4</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=34" target="_blank" >战役下载</A></TD>
<TD class=tablebody2>6411</TD></TR>
<TR>
<TD class=tablebody2>5</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=36" target="_blank" >战役百家谈</A></TD>
<TD class=tablebody2>6060</TD></TR>
<TR>
<TD class=tablebody2>6</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=12" target="_blank" >帝国资料库</A></TD>
<TD class=tablebody2>3354</TD></TR>
<TR>
<TD class=tablebody2>7</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=20" target="_blank" >翔鹰活动室</A></TD>
<TD class=tablebody2>1990</TD></TR>
<TR>
<TD class=tablebody2>8</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=21" target="_blank" >AI</A></TD>
<TD class=tablebody2>1633</TD></TR>
<TR>
<TD class=tablebody2>9</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=35" target="_blank" >MPS</A></TD>
<TD class=tablebody2>1081</TD></TR>
<TR>
<TD class=tablebody2>10</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=37" target="_blank" >连线对战</A></TD>
<TD class=tablebody2>962</TD></TR>
<TR>
<TD class=tablebody2>11</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=28" target="_blank" >联机场景</A></TD>
<TD class=tablebody2>892</TD></TR>
<TR>
<TD class=tablebody2>12</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=56" target="_blank" >主教会议</A></TD>
<TD class=tablebody2>660</TD></TR>
<TR>
<TD class=tablebody2>13</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=51" target="_blank" >GeniEd2</A></TD>
<TD class=tablebody2>542</TD></TR>
<TR>
<TD class=tablebody2>14</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=41" target="_blank" >随机地图</A></TD>
<TD class=tablebody2>350</TD></TR>
<TR>
<TD class=tablebody2>15</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=50" target="_blank" >闭门思过</A></TD>
<TD class=tablebody2>169</TD></TR>
<TR>
<TD class=tablebody2>16</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=54" target="_blank" >帝国战役制作宝典</A></TD>
<TD class=tablebody2>150</TD></TR>
<TR>
<TD class=tablebody2>17</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=55" target="_blank" >港台设计师交流园地</A></TD>
<TD class=tablebody2>135</TD></TR>
<TR>
<TD class=tablebody2>18</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=57" target="_blank" >翔鹰殿堂</A></TD>
<TD class=tablebody2>50</TD></TR>
<TR>
<TD class=tablebody2>19</TD>
<TD class=tablebody2><a href="https://www.hawkaoe.net/bbs/forumdisplay.php?fid=52" target="_blank" >横刀帝国战队</A></TD>
<TD class=tablebody2>44</TD></TR></TABLE>

站务讨论和网虫乱谈贴子总数站了全坛的2/3
[此贴子已经被作者于2005-4-22 23:53:49编辑过]

天使归来 发表于 2005-4-23 19:26:57

我上次清理了些下载区的无用帖,用批量管理挺快.
页: [1]
查看完整版本: [注意]动网论坛数据库死锁的应对之策(PS:权宜之计)