克隆的TrinityCore服务器网速慢卡顿问题的解决(未完全解决)Ubuntu@FreeBSD

一台TrinityCore服务器,采用的是备份克隆安装的方式,在FreeBSD bhyve 中安装Ubuntu,安装细节见如下两篇文档:尝试在FreeBSD 的jail、bhyve里安装TrinityCore-CSDN博客

备份和镜像TrinityCore_魔兽世界 updating auth database... dbupdater: the give-CSDN博客

服务器硬件升级情况见文档:升级TrinityCore 服务器硬件-CSDN博客 

这台服务器的问题就是特别卡,网络延时在700ms左右,而且经常出现更大的延时,出现卡顿现象。但是在命令行ping该服务器却很快,用ssh传输文件也很快,所以最终怀疑是不是因为不是本地编译而导致延时大的。发现这个问题后,一直没解决,当时留存了问题文档:一台TrinityCore服务器客户端连接网速慢(未解决)-CSDN博客

关键是局域网的时候,延时也是几百....

准备本机编译,看看是否能解决

重新本机编译

先配置安装如下软件

sudo apt-get update
sudo apt-get install git clang cmake make gcc g++ libmysqlclient-dev libssl-dev sudo libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100

 下载源码可以忽略,因为源码已经下载好了

cd ~/
git clone https://github.com/TrinityCore/TrinityCore

编译设置

cd TrinityCore
mkdir build
cd build

# 设置安装到server2目录 
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server2

重新编译

make -j 4
make install

编译完成后,用新版本启动服务,发现有点问题,npcbot雇佣兵出不来了.....

而且延时还是700ms左右。

换回老版本,发现延迟降低到300ms左右了,有时候50ms左右,卡的情况还有,但是感觉好一点了。 打了一会儿发现又红了,原来问题照旧。目前客户端连上特别卡,一会儿就卡一次。

是不是bhyve的问题呢? 用jail虚拟机试试

使用FreeBSD jail Ubuntu测试

首先登录进入Ubuntu 虚拟机jammy:

root@fbhost:~ # cbsd jlogin jammy
 

创建wow账户

apt install sudo
useradd wow

发现jammy这个jail虚拟机没法执行apt install sudo ,软件下载的时候卡住。apt update的时候也会卡住

apt update
0% [Connecting to archive.ubuntu.com] [Connecting to security.ubuntu.com]

登录jail虚拟机ubjammy

ubjammy

apt update 也是卡住。

Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease           
Ign:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
0% [Working]

查看resolv.conf文件

nameserver 114.114.114.114   # CBSD makeresolv function
nameserver 8.8.8.8
应该不是它的问题。

看看是不是pf防火墙的问题? 

防火墙规则pf.conf 

tcp_services = "{ ssh, smtp, domain, www, pop3, auth, pop3s,443,5900, 5901 }"
udp_services = "{ domain }"
block all
# pass out on $ext_if proto tcp to any port 443

pass out proto tcp to any port $tcp_services keep state
pass in proto tcp to any port $tcp_services keep state
pass proto udp to any port $udp_services keep state
pass inet proto icmp from any to any
pass out proto tcp to any keep state

真是祸不单行,现在所有的jail网络都不能用了。。。。 暂时无法用jail Ubuntu测试,因为所有的都有网络问题,这样没法安装TrinityCore。

是不是ssd的问题

思考是不是硬盘的问题,因为它使用了一块很老旧的ssd硬盘。在zfs里添加一块新ssd硬盘后,没有去掉老的ssd硬盘,不知道是不是因为这个原因。

zfs手册:Chapter 22. The Z File System (ZFS) | FreeBSD Documentation Portal

 尝试卸载老硬盘,但是没成功

zpool status
  pool: zroot
 state: ONLINE
  scan: scrub repaired 0B in 00:03:39 with 0 errors on Fri Jun 14 13:07:32 2024
config:

	NAME        STATE     READ WRITE CKSUM
	zroot       ONLINE       0     0     0
	  ada0p4    ONLINE       0     0     0
	  ada1p2    ONLINE       0     0     0

errors: No known data errors


zpool offline zroot /dev/ada0p4
cannot offline /dev/ada0p4: no valid replicas

那就先不卸载以前的老硬盘了。

是不是主板本身就有问题

但是scp的时候速度挺快啊,网络应该没啥问题。

是不是内存问题

不知道

是不是其它jail虚拟机的干扰?

把其它所有虚拟机关闭,卡的问题还是存在。

是不是网络的问题

设置为局域网连通,客户端里的ping值有时候只有1ms,但是有时候就会到200ms左右,关键不管延时是1还是200ms,时不时都会卡一下.....,局域网竟然还是卡...

暂时的解决方法:

先不使用这台新服务器了,使用原来的老TrinityCore服务器,升级原来的老服务器,把原来的VirtualBox存盘文件从机械硬盘挪到ssd电子硬盘,同时把虚拟内存从1756MB调到2G,感觉速度比以前提高了一些。

还是这台老服务器管用,至少不会延时几百ms变成红色。同时可以看到Linux服务器还是挺厉害的,2G内存,一个挺复杂的TrinityCore服务,包括mysql,nginx,php等服务就跑起来了,而且效果还不错!当然最终为了服务流畅将内存提高了4G左右。

2024.8.20日补充

另配环境测试

又在EXSi下的FreeBSD里,使用bhyve虚拟机装Ubuntu,同样的TrinityCore软件(直接通过cbsd 导出和导入bhyve 子系统,两个系统一模一样)发现不卡。新环境跟老环境的区别在于:

新环境是在EXSi下的FreeBSD虚拟机

老环境是FreeBSD物理机

新环境bhyve虚拟机里网络用了VALE+NAT

老环境用了Bridge

新环境不卡,证明至少FreeBSD是可以做这件事的。

老环境使用VALE+NAT,还是卡。

总结

一台TrinityCore服务器,采用的是备份克隆安装的方式,在FreeBSD bhyve 中安装Ubuntu,Bridge桥网络,TrinityCore服务卡的厉害。后来网络换成VALE+NAT ,卡的问题照旧。到现在卡的原因没找到。

在EXSi下的FreeBSD里,同样配置的bhyve虚拟机装Ubuntu,网络VALE+NAT不卡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值