项目起源:搬瓦工vps快过期

为决定是否upgrade到cn2机房,需要先验证CN2机房网络是不是更好。一直没有一个适合自己的ping工具,自己写一个。

部署在openwrt路由,定时任务每5分钟启动ping一次

脚本兼容新旧版本ping(输出内容不同),使用sh标准达到最大linux兼容。已兼容openwrt。

# ping 50次,不超过90s,丢包率每字符表示2%,延迟每字符表示10ms
*/5 * * * * /path/to/20181119_host_ping.sh 23.252.103.101 50 90 2 10  >>/tmp/ping.DC3.txt 2>/dev/null
*/5 * * * * /path/to/20181119_host_ping.sh 65.49.131.102  50 90 2 10  >>/tmp/ping.DC9.txt 2>/dev/null
*/5 * * * * /path/to/20181119_host_ping.sh vps.old  50 90 2 10  >>/tmp/ping.vps.old.txt 2>/dev/null
*/5 * * * * /path/to/20181119_host_ping.sh vps.new  50 90 2 10  >>/tmp/ping.vps.new.txt 2>/dev/null

最终版本的脚本,单host版

脚本使用与输出字段意义

$ ./20181119_host_ping.sh
请参考文档使用:
./20181119_host_ping.sh <host|163.com> <pkgcn|10> <maxtime|30> <lost_step|2> <rt_step|5>

./20181119_host_ping.sh 163.com 10 30 1 5 (测10次ping,不超过30s,丢包率每字符表示1%,延迟每字符表示5ms)
时间                出包 入包 丢包 min  avg  max |图形化丢包率,最长25字符 |图形化延迟avg,最多50字符
2018-11-20_10:08:55    3   3   2%  166  167  169 |xx                       |****************

比较结果

搬瓦工CN2 GIA质量非常稳定,土豪随意;对于移动用户访问,CN2比一般机房提升不大。

一天之中2-10点网络最好,晚上6点至凌晨1点最差

root@Gargoyle:/tmp# tail ping.DC9.txt ping.DC3.txt ping.vps.old.txt -n 50
==> ping.DC9.txt <==
16:00:01  50  50   0%  163  166  170 |                          |****************
16:05:01  51  50   1%  163  177  301 |                          |*****************
16:10:01  50  50   0%  162  166  170 |                          |****************
16:15:01  50  50   0%  164  166  171 |                          |****************
16:20:01  50  50   0%  164  166  169 |                          |****************
16:25:01  50  50   0%  162  166  171 |                          |****************
16:30:02  50  50   0%  164  166  171 |                          |****************
16:35:01  50  50   0%  163  167  174 |                          |****************
16:40:02  50  50   0%  164  167  172 |                          |****************
16:45:01  50  50   0%  164  168  173 |                          |****************
16:50:01  50  50   0%  163  166  171 |                          |****************
16:55:01  50  50   0%  163  166  170 |                          |****************
17:00:01  51  50   1%  163  166  174 |                          |****************
17:05:01  50  50   0%  164  167  178 |                          |****************
17:10:01  50  50   0%  163  166  171 |                          |****************
17:15:01  50  50   0%  163  166  170 |                          |****************
17:20:01  50  50   0%  163  166  169 |                          |****************
17:25:01  50  50   0%  163  166  169 |                          |****************
17:30:01  50  50   0%  163  166  171 |                          |****************
17:35:01  50  50   0%  163  166  170 |                          |****************
17:40:01  50  50   0%  164  167  172 |                          |****************
17:45:01  50  50   0%  164  167  169 |                          |****************
17:50:01  50  50   0%  164  166  169 |                          |****************
17:55:01  50  50   0%  162  166  171 |                          |****************
18:00:01  50  50   0%  164  166  170 |                          |****************
18:05:01  50  50   0%  164  167  170 |                          |****************
18:10:01  50  50   0%  163  165  168 |                          |****************
18:15:01  50  50   0%  164  166  170 |                          |****************
18:20:01  50  50   0%  164  166  170 |                          |****************
18:25:01  50  50   0%  164  166  169 |                          |****************
18:30:01  50  50   0%  164  166  169 |                          |****************
18:35:01  50  50   0%  164  166  171 |                          |****************
18:40:01  50  50   0%  164  167  171 |                          |****************
18:45:01  50  50   0%  163  166  170 |                          |****************
18:50:01  50  50   0%  164  166  171 |                          |****************
18:55:01  50  50   0%  164  166  171 |                          |****************
19:00:01  50  50   0%  164  167  188 |                          |****************
19:05:01  50  50   0%  164  168  188 |                          |****************
19:10:01  50  50   0%  163  166  171 |                          |****************
19:15:01  50  50   0%  164  169  174 |                          |****************
19:20:01  50  50   0%  163  168  183 |                          |****************
19:25:01  50  50   0%  164  167  180 |                          |****************
19:30:01  50  50   0%  164  168  187 |                          |****************
19:35:01  50  50   0%  163  169  193 |                          |****************
19:40:01  50  50   0%  162  168  196 |                          |****************
19:45:01  50  50   0%  163  166  169 |                          |****************
19:50:01  50  50   0%  163  167  169 |                          |****************
19:55:01  50  50   0%  163  166  170 |                          |****************
20:00:01  50  50   0%  163  167  192 |                          |****************
20:05:01  50  50   0%  162  166  171 |                          |****************

==> ping.DC3.txt <==
16:00:01  59  50  15%  234  283  333 |xxxxxxx                   |****************************
16:05:01  56  50  10%  174  241  318 |xxxxx                     |************************
16:10:01  52  50   3%  188  246  264 |x                         |************************
16:15:01  51  50   1%  179  229  255 |                          |**********************
16:20:02  50  50   0%  189  245  261 |                          |************************
16:25:01  51  50   1%  188  246  267 |                          |************************
16:30:02  52  50   3%  187  245  265 |x                         |************************
16:35:02  50  50   0%  212  249  262 |                          |************************
16:40:02  52  50   3%  181  249  264 |x                         |************************
16:45:01  53  50   5%  191  233  261 |xx                        |***********************
16:50:01  53  50   5%  188  249  263 |xx                        |************************
16:55:01  50  50   0%  174  241  263 |                          |************************
17:00:01  50  50   0%  208  248  263 |                          |************************
17:05:01  50  50   0%  204  242  262 |                          |************************
17:10:01  54  50   7%  188  216  252 |xxx                       |*********************
17:15:01  51  50   1%  218  252  263 |                          |*************************
17:20:01  51  50   1%  205  249  265 |                          |************************
17:25:01  51  50   1%  196  243  261 |                          |************************
17:30:01  52  50   3%  197  249  265 |x                         |************************
17:35:01  52  50   3%  224  249  262 |x                         |************************
17:40:01  54  50   7%  213  251  266 |xxx                       |*************************
17:45:01  50  50   0%  221  247  265 |                          |************************
17:50:01  52  50   3%  206  246  260 |x                         |************************
17:55:01  53  50   5%  180  241  265 |xx                        |************************
18:00:01  50  50   0%  207  243  262 |                          |************************
18:05:01  52  50   3%  198  243  263 |x                         |************************
18:10:01  52  50   3%  197  252  264 |x                         |*************************
18:15:01  51  50   1%  220  247  263 |                          |************************
18:20:01  51  50   1%  205  245  263 |                          |************************
18:25:01  50  50   0%  178  221  247 |                          |**********************
18:30:01  51  50   1%  178  237  262 |                          |***********************
18:35:01  51  50   1%  161  187  261 |                          |******************
18:40:01  51  50   1%  206  241  261 |                          |************************
18:45:01  51  50   1%  165  188  209 |                          |******************
18:50:01  50  50   0%  209  247  264 |                          |************************
18:55:01  50  50   0%  196  236  261 |                          |***********************
19:00:01  52  50   3%  167  200  222 |x                         |********************
19:05:01  52  50   3%  170  200  238 |x                         |********************
19:10:01  50  50   0%  225  248  263 |                          |************************
19:15:01  51  50   1%  204  246  263 |                          |************************
19:20:01  50  50   0%  226  248  263 |                          |************************
19:25:01  51  50   1%  204  249  264 |                          |************************
19:30:01  50  50   0%  212  253  265 |                          |*************************
19:35:01  52  50   3%  206  245  265 |x                         |************************
19:40:01  50  50   0%  206  241  286 |                          |************************
19:45:01  50  50   0%  180  236  262 |                          |***********************
19:50:01  50  50   0%  197  241  264 |                          |************************
19:55:01  51  50   1%  213  255  265 |                          |*************************
20:00:01  54  50   7%  204  254  264 |xxx                       |*************************
20:05:01  53  50   5%  216  250  265 |xx                        |*************************

==> ping.vps.old.txt <==
16:00:01  67  50  25%  240  285  338 |xxxxxxxxxxxx              |****************************
16:05:01  61  50  18%  183  247  325 |xxxxxxxxx                 |************************
16:10:01  51  50   1%  219  254  270 |                          |*************************
16:15:02  55  50   9%  182  236  262 |xxxx                      |***********************
16:20:01  51  50   1%  197  258  524 |                          |*************************
16:25:01  50  50   0%  193  276 1166 |                          |***************************
16:30:02  52  50   3%  191  250  269 |x                         |*************************
16:35:02  51  50   1%  231  256  270 |                          |*************************
16:40:02  50  50   0%  190  254  269 |                          |*************************
16:45:01  51  50   1%  194  239  266 |                          |***********************
16:50:01  50  50   0%  191  256  270 |                          |*************************
16:55:01  50  50   0%  179  247  266 |                          |************************
17:00:01  51  50   1%  220  254  269 |                          |*************************
17:05:01  50  50   0%  211  248  267 |                          |************************
17:10:01  51  50   1%  194  222  256 |                          |**********************
17:15:01  51  50   1%  213  258  271 |                          |*************************
17:20:01  52  50   3%  209  255  268 |x                         |*************************
17:25:01  50  50   0%  199  248  268 |                          |************************
17:30:01  50  50   0%  198  255  270 |                          |*************************
17:35:01  51  50   1%  231  255  270 |                          |*************************
17:40:01  52  50   3%  220  257  270 |x                         |*************************
17:45:01  51  50   1%  225  252  267 |                          |*************************
17:50:01  50  50   0%  208  251  268 |                          |*************************
17:55:01  51  50   1%  186  248  269 |                          |************************
18:00:01  51  50   1%  211  248  272 |                          |************************
18:05:01  52  50   3%  207  249  267 |x                         |************************
18:10:01  52  50   3%  199  258  269 |x                         |*************************
18:15:01  50  50   0%  223  252  269 |                          |*************************
18:20:01  50  50   0%  210  250  267 |                          |*************************
18:25:01  51  50   1%  184  227  254 |                          |**********************
18:30:01  50  50   0%  187  244  267 |                          |************************
18:35:01  51  50   1%  169  194  268 |                          |*******************
18:40:01  51  50   1%  212  247  266 |                          |************************
18:45:01  50  50   0%  170  193  213 |                          |*******************
18:50:01  51  50   1%  216  252  269 |                          |*************************
18:55:01  50  50   0%  201  242  267 |                          |************************
19:00:01  50  50   0%  170  206  227 |                          |********************
19:05:01  51  50   1%  175  208  261 |                          |********************
19:10:01  50  50   0%  230  253  267 |                          |*************************
19:15:01  53  50   5%  210  253  268 |xx                        |*************************
19:20:01  50  50   0%  230  254  267 |                          |*************************
19:25:01  50  50   0%  211  254  268 |                          |*************************
19:30:01  50  50   0%  221  259  269 |                          |*************************
19:35:01  51  50   1%  213  252  269 |                          |*************************
19:40:01  50  50   0%  220  248  268 |                          |************************
19:45:01  50  50   0%  187  241  267 |                          |************************
19:50:01  50  50   0%  202  247  270 |                          |************************
19:55:01  52  50   3%  216  261  268 |x                         |**************************
20:00:01  51  50   1%  212  258  269 |                          |*************************
20:05:01  52  50   3%  228  257  270 |x                         |*************************

2018-11-27后注:

作为搬瓦工多年老用户,随着去年以来ssh操作vps卡顿日渐严重,差点就因此粉转黑。 不过对我来说,还是搬瓦工性价比高,操作熟悉。

非常遗憾,错过史上最大促销(CPU:2 核 内存:2048 MB 硬盘:40 GB SSD 流量:1 TB CN2网络)相当于打3折。 25号因为黑五优惠,买了普通cn2机房vps。

让人满意的是,ping结果事实证明,新vps比老vps的网络环境好了小一倍。 老旧vps都安装了nginx,使用http播放mp4视频,新vps体验完胜老vps。 就算去掉部分优化的影响:新vps系统是ubuntu18.04并开启了BBR拥塞算法。

最终结果:cn2机房vps完胜老vps

$ tail /tmp/ping.vps* -n 40 | sed 's/2018-11-27_//' | sed '/^16:/d'

==> /tmp/ping.vpsold.txt <==
13:30:01  50  50   0%  180  221  267 |                          |**********************
13:35:01  51  50   1%  216  271  518 |                          |***************************
13:40:01  50  50   0%  222  233  247 |                          |***********************
13:45:01  50  50   0%  195  236  269 |                          |***********************
13:50:01  55  50   9%  235  246  265 |xxxx                      |************************
13:55:01  56  50  10%  261  281  311 |xxxxx                     |****************************
14:00:01  50  50   0%  166  225  248 |                          |**********************
14:05:01  50  50   0%  168  197  230 |                          |*******************
14:10:01  50  50   0%  162  181  217 |                          |******************
14:15:02  50  50   0%  196  231  280 |                          |***********************
14:20:02  50  50   0%  212  239  265 |                          |***********************
14:25:02  50  50   0%  195  246  288 |                          |************************
14:30:02  51  50   1%  192  233  263 |                          |***********************
14:35:02  52  50   3%  220  264  292 |x                         |**************************
14:40:02  50  50   0%  178  211  259 |                          |*********************
14:45:02  51  50   1%  172  204  234 |                          |********************
14:50:01  51  50   1%  245  281  321 |                          |****************************
14:55:01  53  50   5%  231  296  337 |xx                        |*****************************
15:00:01  50  50   0%  231  263  290 |                          |**************************
15:05:01  50  50   0%  229  258  282 |                          |*************************
15:10:01  51  50   1%  195  241  277 |                          |************************
15:15:01  50  50   0%  213  263  320 |                          |**************************
15:20:01  50  50   0%  182  208  225 |                          |********************
15:25:01  51  50   1%  227  268  313 |                          |**************************
15:30:01  50  50   0%  218  288  340 |                          |****************************
15:35:01  50  50   0%  187  225  339 |                          |**********************
15:40:01  50  50   0%  224  263  297 |                          |**************************
15:45:01  50  50   0%  235  259  288 |                          |*************************
15:50:01  50  50   0%  195  249  274 |                          |************************
15:55:01  50  50   0%  220  264  302 |                          |**************************

==> /tmp/ping.vpsold.txt <==
13:30:01  50  50   0%  156  159  164 |                          |***************
13:35:01  50  50   0%  157  160  162 |                          |****************
13:40:01  50  50   0%  156  160  164 |                          |****************
13:45:01  50  50   0%  157  160  162 |                          |****************
13:50:01  50  50   0%  157  159  162 |                          |***************
13:55:01  50  50   0%  155  159  163 |                          |***************
14:00:01  50  50   0%  157  160  162 |                          |****************
14:05:01  50  50   0%  157  160  164 |                          |****************
14:10:01  50  50   0%  157  160  164 |                          |****************
14:15:01  50  50   0%  157  159  163 |                          |***************
14:20:01  50  50   0%  157  160  163 |                          |****************
14:25:02  50  50   0%  157  160  163 |                          |****************
14:30:02  50  50   0%  156  159  163 |                          |***************
14:35:02  50  50   0%  157  160  162 |                          |****************
14:40:02  50  50   0%  157  159  162 |                          |***************
14:45:02  50  50   0%  157  159  163 |                          |***************
14:50:01  50  50   0%  157  160  163 |                          |****************
14:55:01  50  50   0%  157  160  164 |                          |****************
15:00:01  50  50   0%  157  159  162 |                          |***************
15:05:01  50  50   0%  157  160  162 |                          |****************
15:10:01  50  50   0%  157  159  162 |                          |***************
15:15:01  50  50   0%  156  160  162 |                          |****************
15:20:01  50  50   0%  156  159  162 |                          |***************
15:25:01  50  50   0%  157  160  164 |                          |****************
15:30:01  50  50   0%  157  166  192 |                          |****************
15:35:01  50  50   0%  160  190  201 |                          |*******************
15:40:01  50  50   0%  157  160  162 |                          |****************
15:45:01  50  50   0%  155  159  162 |                          |***************
15:50:01  50  50   0%  157  159  162 |                          |***************
15:55:01  50  50   0%  156  160  176 |                          |****************


原文出自发表的https://blog.pythonwood.com/2018/11/网络检测ping脚本——搬瓦工CN2机房PING测试/



扩展阅读