>[danger] **棄用提醒:**
> *由于看云對于免費用戶的限制愈發嚴苛,本文檔已經遷移至語雀。本文檔將不做維護。*
> **語雀地址**:[https://www.yuque.com/a632079/nodebb](https://www.yuque.com/a632079/nodebb)
*****
### 前言
眾所周知,使用國內的服務器建站必須要備案,而備案是一個比較繁瑣的步驟,不同省份要求不一樣,有些站長可能無法通過備案。基于這個原因很多人就選擇了`Linode`、`DigitalOcean`、`Vultr`這類的海外服務器,但是訪問速度也隨之下降了。
對于那些靜態頁面的博客或者是普通門戶網站來說,這種速度下降尚可接受,但是對于使用了`WebSocket`技術的`NodeBB`來說,經常會出現頁面加載不出來的情況,要刷新頁面才行,因為`WebSocket`需要保持長連接,本來海外`VPS`就慢,還要保持長連接,這只會讓速度更慢。所以我們需要關掉`WebSocket`改用`Polling`,也就是輪詢。雖然那這會導致`NodeBB`的聊天功能不及時響應消息,但是對于速度來說確實會得到巨大提升。
`NodeBB`使用了`Socket.io`,其內部封裝了`WebSocket`和`Polling`兩種技術,所以這種切換是很容易實現的。
### 修改方法:
打開`NodeBB`的配置文件`config.json`,加入三行,看起來效果如下:
```json
{
...
"socket.io": {
"transports": ["polling"]
},
...
}
```
### 性能測試
根據性能魔方的測試,修改為`Polling`之后論壇的訪問速度提升很大,`白屏時間+首屏時間+整頁時間`的變化如下圖所示:
#### 使用`WebSocket`

#### 使用`Polling`

>[info] 編寫: [hao-lee](https://github.com/hao-lee)
維護: PA Team
審核: PA Team & NodeBB China
最后更新: 2017.08.08
- 序
- 贊助
- 導言
- 安裝
- 通過操作系統
- Windows + Mongodb/Redis
- Ubuntu/Debian + Redis/Mongodb
- CentOS + Redis
- CentOS + Mongodb
- FreeBSD/OpenBSD + Redis
- Arch Linux + Redis
- OSX + Redis
- 通過云服務
- 通過主機面板安裝
- AppNode
- CPanel
- 寶塔
- 使用
- FAQ
- 高級
- 運行 NodeBB
- 配置 Config.json
- 配置 Nginx
- 配置 MongoDB
- 更新 NodeBB
- 設置 Widgets
- 安裝 Yarn
- 更新 MongoDB
- 數據庫備份與恢復
- 重置管理員密碼
- 讓 NodeBB 支持搜索
- 優化
- 優化配置,提升NodeBB處理能力
- Google字體庫 -> 360公共前端庫
- Google字體庫 -> 中科大鏡像
- 海外VPS提升NodeBB訪問速度
- 通過 NodeBB API 自動發帖
- 開發
- 準備
- 常用方法 & 變量
- 插件制作
- 使用工具包編寫一個插件
- 主題制作
- 使用工具包編寫一個主題
- 部件制作
- 國際化
- 鉤子(hook)使用說明