前言:因为购买了一台OpenOZ服务器,服务器特别垃圾,Ssh链接都需要十秒钟,老板服务态度也差。然后想到速度跑光流量用完丢掉。

但是关于跑流量,常见的有两种

1.DD/cc【不合理也不合法】

2.各种Down【速率不稳定,还容易吃满内存或者线程被杀死】

 

为了保证高效的跑完服务器上的流量

1.选用Speedtest官方测速脚本,速度拉满,效率拉满

官方脚本链接:Speedtest CLI: Internet speed test for the command line

Ubuntu/Debian

sudo apt-get install curl
curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash
sudo apt-get install speedtest

Fedora/Centos/Redhat

curl -s https://install.speedtest.net/app/cli/install.rpm.sh | sudo bash
sudo yum install speedtest

根据自己的系统来选择对应的脚本,执行完毕之后我们在【终端】直接输入命令:

speedtest

即可自动匹配最佳节点,并且开始上传和下载的测速。

 

问题1:如何后台执行命令?【用户退出终端依然执行】

问题2:如何每秒/多线程同步执行?【定时执行实现带宽利用最大化】

这里我们选用Liunx都自带的定时任务crontab命令,去解决问题1,每分钟可以执行一次

// 1.编辑crontab
crontab -e
// 2.添加定时任务【下面两个选一个用就行】
* * * * * sh /root/test.sh
或
*/1 * * * * sh /root/test.sh
//这里我们选用倒数第二行 执行tesh.sh文件【解决问题2】

我们通过各种ssh进入/root路径 创建tesh.sh文件【当然名字可以自己取,和上面同步修改即可】

tesh.sh文件

#!/bin/bash
step=1
for (( i = 0; i < 60; i = (i+step) )); do
    speedtest
    sleep $step
done

exit 0

step为执行速率 默认为1【一秒钟执行一次】

speedtest为执行命令【你可以修改为你想要的】

 

我的服务器上设置为step=5 crontab中每分钟执行一次

即:每分钟执行12次speedtest测速

 

实际效果

实际图
两分钟后

我们可以看到上传和下载基本上都跑满了,而且是不间断执行。

 

全剧终~

 

 

相关引用:

crontab命令详解 含启动/重启/停止 – 谦信君 – 博客园 (cnblogs.com)

Linux定时任务实现每秒执行一次 – 海*风 – 博客园 (cnblogs.com)