- 主题:关于系统优化策略的一点想法
首先,当前本站lag现象比较严重,大家用起来都不爽,本文就是在本地编辑再贴上来的,:)
所以对系统进行一定程度的优化显然是挺有必要的。记得KCN说过几个系统lag的所在,其中文章列表的存取和检索锁定貌似挺耗费系统资源的(原文找不到了,大概意思吧)
我稍微看了一下源代码,本来以为所有版面文章列表都是在内存中缓冲的,后来看了看才发现不是,还是要去存取文件。这个就大大增加了硬盘IO。我在SYSOP提出把所有文章列表放到内存中缓冲,据说不可行。后来又建议把一些热门版面设置标志为,如果是这些版面的话,就把文章列表放到内存,但是这个需要修改程序,貌似比较麻烦。我考虑了一下,想提出一个不用怎么修改程序的策略:
1,把一部分内存映射为一个虚拟盘,挂到系统里面去,例如/memdisk
2,一些热门版面的文章列表文件换个位置,例如放到bbs/boards/hot。
3,当整个bbs系统启动的时候,把bbs/boards/hot下的所有文件拷贝到/memdisk/boards目录下。然后把原来系统默认的文章列表文件的位置建立一个link,连接到/memdisk/boards下相应的文件。这样的话,就可以实现不修改程序而在内存中缓冲版面文章列表,提高存取速度。
4,写回策略:
因为内存毕竟存在掉电丢失数据的问题(有了UPS会好很多,但是也会有系统down掉的可能),所以及时把内存盘中的数据写回硬盘就很自然的了。鉴于该类文件可能挺大,直接拷贝内存文件到硬盘会比较消耗时间。我建议做如下处理:
4.1 拷贝内存版面文章文件到内存盘的临时目录(例如/memdisk/tmp)。这之前需要flock一下。
4.2 然后从内存盘临时目录拷贝到硬盘上,加上.NEW后缀。
4.3 硬盘上原文件重命名加上.OLD后缀
4.4 去掉.NEW后缀
4.5 删掉.OLD后缀文件
对于4这个操作,可以定时操作,也可以由其余策略进行操作。
5,鉴于热门版面的增加删除不会很频繁,如果要改动,可以考虑通过深夜重新启动bbs系统等方式进行。也可以先只读,再隐藏,保证没有人再使用该文件的情况下进行维护。
嘿嘿,大家看看是否可行
--
FROM 218.182.104.*
这样会很麻烦的,每次系统启动都要遍历所有的版面文章取得fileheader去生成索引
【 在 dvlt (-: :-) 的大作中提到: 】
: 如果版面文章的文件格式上能进行一些调整,把fileheader结构加到文章里,那么
: 就不用担心中途掉电啦。现在 .DIR 文件不只是个索引,还保留了不少文件里没有
: 的信息。如果把.DIR纯粹变成一个索引文件,那就可以放心的放在内存里,不怕
: ...................
--
FROM 218.182.104.*
最近几天 lag 现象已经很少了,因为我调整了一些系统参数。。。
【 在 oldbug (心平气和) 的大作中提到: 】
: 首先,当前本站lag现象比较严重,大家用起来都不爽,本文就是在本地编辑再贴上来的,:)
: 所以对系统进行一定程度的优化显然是挺有必要的。记得KCN说过几个系统lag的所在,其中文章列表的存取和检索锁定貌似挺耗费系统资源的(原文找不到了,大概意思吧)
: 我稍微看了一下源代码,本来以为所有版面文章列表都是在内存中缓冲的,后来看了看才发现不是,还是要去存取文件。这个就大大增加了硬盘IO。我在SYSOP提出把所有文章列表放到内存中缓冲,据说不可行。后来又建议把一些热门版面设置标志为,如果是这些版面的话,就把文章
: ...................
--
FROM 61.49.139.*
ft,我觉得挺lag,今天不是还有人反映的吗
【 在 kxn (失望大于期望,time to break out?) 的大作中提到: 】
: 最近几天 lag 现象已经很少了,因为我调整了一些系统参数。。。
--
FROM 218.182.104.*
应该只是网速原因?
【 在 oldbug (心平气和) 的大作中提到: 】
: ft,我觉得挺lag,今天不是还有人反映的吗
--
FROM 61.135.159.*
分享一下吧,怎么调?
【 在 kxn@newsmth.net-SPAM.no (失望大于期望,time to break ou 的大作中提到: 】
: 最近几天 lag 现象已经很少了,因为我调整了一些系统参数。。。
: 【 在 oldbug (心平气和) 的大作中提到: 】
: : 首先,当前本站lag现象比较严重,大家用起来都不爽,本文就是在本地编辑再贴上来的,:)
: : 所以对系统进行一定程度的优化显然是挺有必要的。记得KCN说过几个系统lag的所在,其中文章列表的存取和检索锁定貌似挺耗费系统资源的(原文找不到了,大概意思吧)
: : 我稍微看了一下源代码,本来以为所有版面文章列表都是在内存中缓冲的,后来看了看才发现不是,还是要去存取文件。这个就大大增加了硬盘IO。我在SYSOP提出把所有文章列表放到内存中缓冲,据说不可行。后来又建议把一些热门版面设置标志为,如果是这些版面的话,就把文
: : ...................
--
FROM bbs.tju.edu.cn