WordPress自架站的资源可利用度向来让许多站长伤透了脑筋,毕高速CPU和巨量内存虽然能让网站运作速度加快,但那些可都是靠砸钱砸出来,对于小型网站的用户来说是很大的成本。

如果服务器的内存太小,那可以做什么样的改善呢?

其实有一个方法就是在硬盘上面建立一个内存交换空间文件(Swap files),供系统当作内存存贮用,将原本在内存存放的资料也能存放在大容量的硬盘中,如此一来便能避免内存不够用的问题。

这个功能在十几年前的个人电脑也曾经风靡过一段时间,只不过那时候的内存贵,现在的内存便宜,也就越来越少会进行这种配置。

其实这种做法有一个明显缺点,那就是硬盘的读写速度绝对无法跟内存相提并论。以前个人电脑可以用效能降低来获得较大的内存空间,避免当机还可以执行大程序,但服务器却不能这样做,服务器避免当机只是个基本条件,还必须提供足够的效能才不会让网站用户在操作时感到不耐烦。

不过换一个角度来思考,以前硬盘的读写速度会慢那是因为机械式传统硬盘原有的物理性限制,但是现在已成为主流的固态硬盘 (Solid-state drive,简称SSD),虽然读写速度一样无法跟内存相提并论,却也是传统HDD硬盘的好几倍。所以如果用SSD硬盘来建立交换空间,其实也颇具优势条件。

下面列出在Linux服务器中建立交换空间文件提供WordPress内容管理系统使用的操作指令,只要逐一执行,就可以建立高达1G的交换空间,提供网站更稳定的运作。

⚠️注意:老话一句,操作前请先备份网站。

建立内存交换空间文件指令集

sudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

Linux指令用法介绍

  • fallocate:用于快速建立大文件。
  • chmod:更改文件权限。
  • mkswap:建立交换分区。
  • swapon:启用交换分区。
  • echo和tee:屏幕标准输出和同时输出到文件。
结果与讨论

笔者在将一个原本只有0.6GB内存的小网站扩增1GB交换空间文件后,虽然不能说是因为增加了交换文件空间所以访客数量暴增,不过修改隔日的访问量确实从500人次暴增到1000人次,操作时的流畅度也很有感觉。接著会再观察几天来判读增加交换空间的优点是否明显。

✦ 独立报道 · 读者支持 ✦

以实际行动支持独立观点,与我们一同走得更远

每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。

维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。

由 Google 安全处理付款 · 可随时在 Google 账户管理或取消