孙宗芸 發表於 2023-12-19 00:00:00

Linux上下行网速测试工具_speedtest-cli安装使用方法

<p>
        <code>speedtest-cli</code>是Linux下的一个上下行网速测试工具,是一个用Python写的命令行脚本。</p>
<p>
        电脑测试网速这个功能估计大家都用过,但是服务器需要测试外网的速度相比大家做法各有不同,有的人使用自己的服务器来测试上下行速度,有些通过下载某个网站的资源来测试下行速度,鉴于这些节点比较少,而且测试麻烦,我向大家推荐speedtest-cli.<br>
        speedtest是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试.最后我会测试运维生存时间所在服务器的外网速度。</p>
<p>
        需要python2.4-3.3的支持。</p>
<p>
        项目地址:https://github.com/sivel/speedtest-cli</p>
<p>
        <strong>安装方式</strong></p>
<p>
        安装方式有多种</p>
<p>
        <strong>1. 安装speedtest-cli</strong><br>
        speedtest-cli需要在python 2.4-3.4的环境下,安装方法都很简单,自己选择以下最适合你的一种.<br>
        1.1 pip方式</p>
<p>
        <code># pip install speedtest-cli</code></p>
<p>
        1.2 easy_install方式</p>
<p>
        <code># easy_install speedtest-cli</code></p>
<p>
        1.3 github+pip方式</p>
<p>
        <code># pip install git+https://github.com/sivel/speedtest-cli.git</code></p>
<p>
        或者</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_529137">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"># git clone https:</code><code class="bash plain">//github</code><code class="bash plain">.com</code><code class="bash plain">/sivel/speedtest-cli</code><code class="bash plain">.git</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain"># python speedtest-cli</code><code class="bash plain">/setup</code><code class="bash plain">.py </code><code class="bash functions">install</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        1.4 下载脚本方式</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_670089">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"># wget -O speedtest-cli https:</code><code class="bash plain">//raw</code><code class="bash plain">.github.com</code><code class="bash plain">/sivel/speedtest-cli/master/speedtest_cli</code><code class="bash plain">.py</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain"># </code><code class="bash functions">chmod</code> <code class="bash plain">+x speedtest-cli</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        或者</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_124822">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"># curl -o speedtest-cli https:</code><code class="bash plain">//raw</code><code class="bash plain">.github.com</code><code class="bash plain">/sivel/speedtest-cli/master/speedtest_cli</code><code class="bash plain">.py</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain"># </code><code class="bash functions">chmod</code> <code class="bash plain">+x speedtest-cli</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        直接下载脚本,给予执行权限即可。</p>
<p>
        <strong>2. speedtest-cli用法</strong></p>
<p>
        命令很简单,直接上帮助</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_833052">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain"># speedtest-cli --help</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">Usage: speedtest-cli </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain spaces"> </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">Command line interface for testing internet bandwidth using speedtest.net.</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">--------------------------------------------------------------------------</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">https://github.com/sivel/speedtest-cli</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain spaces"> </code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">Options:</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">-h, --help    show this help message and exit</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">--share     Generate and provide a URL to the speedtest.net share</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="plain spaces">          </code><code class="plain plain">results image</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">--simple     Suppress verbose output, only show basic information</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">--list      Display a list of speedtest.net servers sorted by distance</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">--server=SERVER Specify a server ID to test against</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">--mini=MINI   URL of the Speedtest Mini server</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="plain spaces"> </code><code class="plain plain">--source=SOURCE Source IP address to bind to</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="plain spaces"> </code><code class="plain plain">--version    Show the version number and exit</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>3. speedtest-cli常用命令详解</strong></p>
<p>
        3.1 list<br>
        根据距离显示speedtest.net的测试服务器列表</p>
<p>
        3.2 server<br>
        指定列表中id的服务器来做测试<br>
        3.3 share<br>
        分享你的网速,该命令会在speedtest网站上生成网速测试结果的图片<br><strong>4. speedtest-cli测试</strong><br>
        4.1 列出所有在中国的测试服务器</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_497556">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain"># speedtest-cli --list | grep China</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">1185) China Unicom (Changchun, China) </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">3784) China Mobile (Urumqi, China) </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">2667) Beijing Normal University (Beijing, China) </code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">2529) Beijing Normal University (Beijing, China) </code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">2816) Capital Online Data Service (Beijing, China) </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">4354) SXmobile (Taiyuan, China) </code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">3973) China Telecom (Lanzhou, China) </code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain plain">3633) China Telecom (Shanghai, China) </code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain plain">3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) </code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="plain plain">2461) China Unicom (Chengdu, China) </code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="plain plain">1028) Shepherd Software (Xiamen, China) </code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="plain plain">1628) Xiamen Guangdian Xinxu (Xiamen, China) </code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="plain plain">3891) GZinternet (Guangzhou, China) </code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="plain plain">3871) SZWCDMA (Shenzhen, China) </code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="plain plain">3819) SZU (Shenzhen, China) </code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="plain plain">1536) STC (Hong Kong, China) </code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="plain plain">1890) Telin (Hong Kong, China) </code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        结果解释<br>
        3633) China Telecom (Shanghai, China) <br>
        3633: 服务器id<br>
        china telecom:isp,这里是中国电信<br>
        shanghai,china :服务器所在地址<br>
        11983.37 km:两台服务器地理位置之间距离,我这台机器在美国,和上海相距11983.37公里,很远呐.</p>
<p>
        4.1 外网速度测试<br>
        咱们运维生存时间的服务器在美国linode,我测试到上海这台机器的速度,并且生成图片报告</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_884898">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain"># speedtest-cli --server=3633 --share</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">Retrieving speedtest.net configuration...</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">Retrieving speedtest.net server list...</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">Testing from Linode (173.255.219.122)...</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">Hosted by China Telecom (Shanghai) : 23.603 ms</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">Testing download speed........................................</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">Download: 24.84 Mbit/s</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">Testing upload speed..................................................</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain plain">Upload: 4.57 Mbit/s</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain plain">Share results: http://www.speedtest.net/result/3240988007.png</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        通过结果可以看到,上海电信用户访问www.ttlsa.com可以达到4.57mbit,上传到www.ttlsa.com可以达到28.84mbit/s. share参数的效果图如下:</p>
<p>
        <img title="Linux上下行网速测试工具_speedtest-cli安装使用方法" alt="Linux上下行网速测试工具_speedtest-cli安装使用方法" src="https://zhuji.jb51.net/uploads/img/202305/9f20ce39eb29cd9f455d589eb6fc8c0f.jpg"></p>
<p>
        speedtest-cli</p>
<p>
        <strong>5 参考地址</strong></p>
<p>
        项目地址:https://github.com/sivel/speedtest-cli</p>
頁: [1]
查看完整版本: Linux上下行网速测试工具_speedtest-cli安装使用方法