单服务器视频网站cpu wa高,如何优化?

我是一名内网视频网站管理员。目前我们的网站在局域网内部署,向用户提供在线视频服务。在访问量大时,整体网站访问速度很慢。
服务器环境是centos7 apache mysql php,使用海洋cms作为内容管理系统。
在访问量大时(80端口连接数大约1200),使用top命令查看发现load average达到上百(cpu仅有8核心),并且大部分cpu使用都是wa状态。
由于服务器使用的是挂载的网络存储,我想可能是硬盘io限制了速度。
请问有没有优化办法?

阅读 1.1k
2 个回答

看到标签里面加了nfs。如果wa比较高,那么大概率就是磁盘io比较慢了。

如果优化的话,感觉可以尝试从下面几个方向入手(具体我也没有接触过,不一定对)。

  1. 首先确定一下是nfs还是服务器本地磁盘的读写慢(iostat/nfsiostat)。
  2. 如果是nfs慢,检查一下服务器到nfs服务器之间的网络连接是不是正常的,有没有网卡/网线的峰值,高峰期的带宽有没有跑满,带宽跑满了,那么大概就是因为服务器带宽限制了nfs的io速度。
  3. 如果不是因为上一条的网络原因导致的io慢,那么就需要检查一下nfs服务器,是不是nfs服务器的磁盘读写速度慢。

nfs

如果是网络宽带的原因,nfs服务器的读写速度比网络带宽要高的情况下,那么就可以考虑升级服务器的网卡,提高网卡的速度。

如果nfs服务器的带宽比网络带宽高得多,并且nfs服务器的磁盘读取速度比网络带宽要小得多,那么可以考虑试试升级到ssd硬盘,提高nfs的读取速度。

如果都不是上面(硬件)到原因,那么考虑是不是软件挂载的原因,这个可能需要测试,但是这块我也不太熟悉。

可以看看是否是 IO 问题,我猜测是因为大量视频的流量传输,将带宽占满,导致网址本身的性能有影响。

可以将资源与网站服务区分开来。常规的做法就是资源上云,比如阿里云 OSS 等。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏