-
Notifications
You must be signed in to change notification settings - Fork 6
LEGACY MAPLE3.FEATURE
Iweidieng Iep edited this page Apr 16, 2020
·
1 revision
作者: Thor (Thor) 看板: nthu.cs.plan
標題: [M3] MapleBBS特色 --系統效能觀點
時間: Thu Aug 20 00:16:56 1998
[1] 系統效能觀點
────────
MapleBBS 3.02 程式最大的特質在於系統效能,經過多次最佳化設計,精簡系統核心
,目前程式碼的大小 (code size) 是 147456 for SunOS,126976 for FreeBSD,
比 MapleBBS 2.36 程式更小更精簡, 功能更強大
執行時期 (run-time) 的記憶體需求在 SunOS 約 200K - 280K,FreeBSD 約
300K - 380K,OpenBSD 約 180K - 250K
視使用者正在做什麼事而定,在清華資訊《楓橋驛站》上的運作情況是:
記憶體空間 │ 最高同時上站人數
──────┼─────────
128M │ 783 人
192M │ 1115 人
看板 300 個,註冊人數約 54000 人,而有不錯的效果,系統負載介於 30.0 -
50.0 之間。
由於先前以 Linux 開站,硬碟被操壞了,所以 MapleBBS 在程式設計的時候,
特別考量到保養硬碟,如果資料可以放上記憶體的,交給記憶體就好,如果非
得要寫入硬碟不可的話,也利用 lazy method,儘量減少硬碟讀取的機會。
這麼寶貝硬碟的意外效果是,還可以增進程式執行效率,畢竟 RAM 比 HD 快。
例如 Class 的 image, Friend的image等等
對於檔案系統, 採取 archiv32分散子目錄的原則, 所有的檔案並不只存在同
一子目錄中分散的方式有助更快的找到檔案以及降低load, user目錄分a-z也
是同樣的原理, 也避免子目錄內 32768個entry的限制
另外對shared memory的存取過於頻繁時在SunOS上會有些問題(楓橋幽靈傳說)
故除非必需, shared memory的操作儘量的減少, 目前shared memory只有
board shm, user shm(UTMP), movie shm三種, 且 movie shm動態看版經過壓
縮, 以減少不必要的浪費
在signal的使用上, 由於cost相當大, 故目前僅保留『即時』所需的熱訊及
次數不多的 talk, 並無使用其他的signal (包括 alarm)
此外, 所有的daemon都量身打造, 包括 cost極大的sendmail也已由 bmtad負責
收信和 bbsd本身送信來代替
為避免系統本身socket dns相關部分不夠最佳化, DNS的部分也量身打造, 放入
dao library之中, 亦同時避免頻繁access /etc/hosts
最常使用的 使用者名單 亦改為 究極精簡版, 大量的減少可觀的系統load
對於network traffic的傳送等等, 亦作了相當多的最佳化, 諸如此類,
請各位看倌細細品嘗, 以後若有想到我也會補充進來
[2] 管理者觀點
───────
首先,所有的程式都不需要 root set-uid,可以增進系統的安全性,
統計程式有助於管理者了解整個 BBS 站的經營情況、使用者的趨勢,
資料維護、自動壓縮備份的工具程式可以讓 BBS 站更保險,主程式及
其他工具程式也給了管理者一些便利之處。
此外, 新式的精華區再也無法輸入相對路徑, 無法由編輯精華區檔案
路徑而窺得其他系統檔案
量身定作的 bmtad, 可自動判斷 junk mail並加入 deny email list之中
亦可用手動方式加入拒收 email 名單, 並自動統計列表放入 junk版中,
所有的收到的站外寄往站內信件, 均會保留完整的 email header 在junk版
以便日後的查證, 所有站上的特權 user, 也都會自動統計, 以便核對
[3] 使用者觀點
───────
有 ^Z可任何地方快速切換各式表單, ^R 可任何地方回顧並回覆熱訊,
豐富的聊天室動詞及各樣功能, 方便的各式閱讀 thread 快速鍵, 串接文章模式
多場多票多選項的投票功能, ANSI編輯模式, 精華區索引, 閱覽中搜尋......
功能齊全、貼心的設計,user-friendly 的特質要憑感覺,筆墨難以形容,
在此多說只不過是老王賣瓜,自賣自誇,只要您上《楓橋驛站》玩一玩,自
然會有一番體會。
- Home
- Install — 安裝說明
- Version
- Project Documentations — 專案說明文件
- Coding Style & Conventions — 程式碼撰寫風格與慣例
- Indentation
- Xover List System — Xover 列表系統
- Menu Systems — 選單系統
- Screen Coordinate System — 畫面座標系統
- BoardReadingHistory — BRH 看板閱讀紀錄系統
- Visio I/O Library — Visio 輸出入函式庫
- Permission System — 權限系統
- TANet BBS Family Genealogy Chart — TANet BBS 家族譜系圖
- 與 MapleBBS 3 的按鍵差異
- [WIP] 與 MapleBBS 3 的差異
- References — 參考資料
- Changelog & TODO
- Issue & TODO list — 問題與代辦事項清單
- MapleBBS-itoc Porting Project — MapleBBS-itoc 移植計畫
- BBS-Lua Changelog
- BBS-Ruby Changelog (external link — 外部鏈結)
- 新式密碼加密 (DLBBS v2.0+)
- [WIP] DreamBBS v3 發佈說明 Release Note
- Release Notes of Version 2.0.0 Artoria
- Version 2.0.0 Artoria 發行說明
- Release Notes of Version 1.0.0 Rimuru
- Version 1.0.0 Rimuru 發行說明
- NoCeM-innbbsd 原始說明文件
- WindTop 3.02 原始說明文件