测试主机和内网机器都安装Centos系统
一、更换国内yum源,以下为步骤
1.1 备份现有的 YUM 源文件
sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
1.2 替换 YUM 源为国内阿里云的
1.2.1 清理原有的 .repo 文件
sudo rm -rf /etc/yum.repos.d/.repo
1.2.2 下载新的 .repo 文件(阿里云)
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.3 清理缓存并重新生成缓存
sudo yum clean all
sudo yum makecache
1.4 测试 YUM 源是否可用
sudo yum update
通过以上步骤,应该能够成功更新 YUM 源并正常使用新的软件源。
二、yum命令安装git
sudo yum install -y git
三、编译 handy
git clone https://github.com/yedf/handy.git
yum install make gcc-c++ -y
cd handy/
./build_config
make && make install
以上内网客户端和具有公网 IP 的服务器端都需要。
四、系统参数调整
sysctl -w fs.file-max=10485760 #系统允许的文件描述符数量10m
sysctl -w net.ipv4.tcp_rmem=1024 #每个tcp连接的读取缓冲区1k,一个连接1k
sysctl -w net.ipv4.tcp_wmem=1024 #每个tcp连接的写入缓冲区1k
修改默认的本地端口范围
sysctl -w net.ipv4.ip_local_port_range='1024 65535'
sysctl -w net.ipv4.tcp_tw_recycle=1 #快速回收time_wait的连接
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_timestamps=1
用户单进程的最大文件数,用户登录时生效
echo ' soft nofile 1048576' >> /etc/security/limits.conf
echo '* hard nofile 1048576' >> /etc/security/limits.conf
ulimit -n 1048576 #用户单进程的最大文件数 当前会话生效
五、运行测试程序
5.1 具有公网IP的服务器做主机运行命令:
./10m/10m-svr 20000 30000 2 30001
启动 2 进程监听端口 20000 到 30000 ,管理端口 30001
5.2内网客户端运行命令:
./10m/10m-cli 服务器端ip 20000 30000 10000 100 2 3 64 30001
启动 2 进程在 100 秒内发起 10000 连接,远程端口 20000 到 30000 ,每 3 秒发送心跳包 64 字节。
建议通过内网路由器查看连接数,通过调试路由器连接数功能,测试有效连接的真实数值。