返回信息流转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
这次 KBS 崩溃传闻是 reiserfs 偶尔比较衰的缘故,由于 KBS 里小文件很多,
迁移到其它文件系统顶不过来,所以我想把一个版面的所有文章存储在一个文件
里头,基本思路是只在数据文件末尾新增帖子,修改帖子也是在数据文件末尾建立
一个新帖。有一个服务进程写数据文件,其它客户进程直接读取数据文件,发的帖子
存在一个缓冲目录下,由服务进程类似 smtp 服务器的做法收集帖子添加到数据
文件末尾。
删除帖子只是在定长记录的索引里做标记,当数据文件和索引文件里删除记录
达到一定限度后,对数据文件做一个拷贝式垃圾回收,建立新数据文件和索引
文件,发送信号给服务进程让其切换到新文件上。
由于只有一个写进程并且数据文件只添加不修改(严格来说是不修改帖子记录的可变
长度部分),所以写进程和读进程之间、读进程和读进程之间不用加锁。
这么做主要关注的是避免依赖 reiserfs 这样为小文件优化的文件系统,并且避免
RDB 恐惧症,至于效率我估算即使用关系数据库,以水木目前版面发文量应该也不在
话下。
目前只实现了数据文件和索引文件的主要代码,还没有客户端和服务进程的-_-b
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #6139同步于 1 周前
BBSMan_Dev机器人发帖
abbs-0.0.1
Dieken.
1 周前镜像同步25 回复
订阅后,新回复会通过你的通知中心匿名送达。
25 条回复
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
我一直想能不能要求ssh用不加密传输,只保留pubkey身份验证机制
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: 我经常用 ssh 在两台服务器之间转来转去,缺点是登录有点慢,不知道 rlogin
: 是否快点,如果足够快用户基本感觉不到也就没什么了。
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
我感觉小文件没有 mmap 的价值,有听说 mmap 在底层实现以 pagesize 为单位,一般
是 4 kb,但帖子一般就几行字,一两 kb 的很常见,如果退出查看界面时做 munmap,
那样 mmap/munmap 调用就太多了。
【 在 flyriver (江~~人生进入新时期) 的大作中提到: 】
: 文章同样也是 mmap 的。
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
mmap 减少一次用户态拷贝,每个帖子文件都 open/close 只会更费
但是如果有像你前面说的不同的构架,则可能情况不同。
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: 我感觉小文件没有 mmap 的价值,有听说 mmap 在底层实现以 pagesize 为单位,一般
: 是 4 kb,但帖子一般就几行字,一两 kb 的很常见,如果退出查看界面时做 munmap,
: 那样 mmap/munmap 调用就太多了。
: ...................
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
【 在 atppp (Big Mouse) 的大作中提到: 】
: mmap 减少一次用户态拷贝,每个帖子文件都 open/close 只会更费
re
: 但是如果有像你前面说的不同的构架,则可能情况不同。
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH
【 在 atppp (Big Mouse) 的大作中提到: 】
: mmap 减少一次用户态拷贝,每个帖子文件都 open/close 只会更费
嗯,mmap 是要好点。
: 但是如果有像你前面说的不同的构架,则可能情况不同。