>[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`
![论坛加载时间-WebSocket](https://github.com/NodeBB-China/NodeBB-China/raw/master/Images/%E8%AE%BA%E5%9D%9B%E5%8A%A0%E8%BD%BD%E6%97%B6%E9%97%B4-WebSocket.png)
#### 使用`Polling`
![论坛加载时间-Polling](https://github.com/NodeBB-China/NodeBB-China/raw/master/Images/%E8%AE%BA%E5%9D%9B%E5%8A%A0%E8%BD%BD%E6%97%B6%E9%97%B4-Polling.png)
>[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)使用说明