标签: bandwidth

如何限制网络带宽?

我们在远程服务器上托管一个应用程序。我们需要在有限的网络带宽下对其进行测试(对于 Internet 访问不佳的用户)。

我可以限制我的互联网带宽吗?例如:每秒 128 KB。

此问题侧重于 Linux 上的系统范围或容器范围的解决方案。有关特定于进程或会话的解决方案,请参阅限制特定 shell 的 Internet 带宽使用

linux networking qos bandwidth

96
推荐指数
6
解决办法
20万
查看次数

如何限制进程使用的带宽?

我有一台 CentOS 5.7 服务器,它将每晚备份其文件。我担心当备份通过网络传输时,服务器托管的各个站点的访问者会遇到性能下降。

是否可以将进程的最大允许吞吐量限制为网络接口?我想将基于 SSH 的文件传输限制为我可用带宽的一半。这可能在服务器端或客户端;也就是说,我很乐意在发起连接的客户端或接收连接的服务器上执行此操作。

(不幸的是,我无法添加专门用于备份的接口。我可以增加可用吞吐量,但这仅意味着网络传输将完成得更快,但在执行此操作时仍能最大限度地提高连接的总容量。)


一些背景

也许一些背景是有序的。退一步说,我遇到了没有足够的本地空间来创建备份本身的问题。进入SSHFS!备份被保存到表面上是本地驱动器的地方,这样网络服务器本身就没有备份位。

为什么这很重要?因为那似乎会使尊者的使用无效rsync --bwlimitrsync实际上不是这样的转移,也可以,因为我甚至无法腾出空间来保存备份文件。

我可以听到你问:“等等,为什么你甚至需要制作备份文件?为什么不只是rsync源文件和文件夹?” 因为一个叫“Plesk”的烦人的东西混在了一起!这是我的面向客户端的 Web 主机,为了方便使用 Plesk。因此,我使用 Plesk 来启动备份,因为 Plesk 为备份添加了各种额外的魔法,这使得在恢复过程中使用它非常安全。

悲伤的脸

networking centos bandwidth

48
推荐指数
4
解决办法
5万
查看次数

是否有类似 top 的命令显示正在运行的进程的网络带宽和文件访问

例如,我们希望看到:

PROCESS       IF       TX       RX       FILE(regular) R/W
prog1         eth0     200kB/s  12kB/s   --            --
              wlan0    12kB/s   100kB/s  --            --
              --       --       --       file1         R
              --       --       --       file2         R
              --       --       --       file3         W
prog2         eth0     0kB/s    200kB/s  --            --
              --       --       --       file4         W
              --       --       --       file5         W
Run Code Online (Sandbox Code Playgroud)

这可能吗?nethogs 只显示 TX/RX,而 lsof 只显示文件访问。

我目前正在做一个像这样的两步过程:

sudo nethogs
sudo lsof -a -d 1-999 -c hogging_program /
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

networking process process-management bandwidth files

41
推荐指数
4
解决办法
4万
查看次数

谁为存储库的存储和带宽付费?

当我执行 a yum updateor 时apt-get update,我的机器正在访问多个服务器并下载多个软件包。我想这些服务器每天都在处理数百万个类似的请求。

谁为这些服务器的维护、存在和带宽买单?如果答案取决于发行版,那么 CentOS、Arch 和 Ubuntu 将是很好的例子。我对此感到疑惑,因为我正在使用这些免费操作系统并且我正在消耗带宽,但我没有为此特权向任何人支付过费用。

distros bandwidth repository

41
推荐指数
3
解决办法
4087
查看次数

找出每个 IP 的网络流量

我们有一台中央服务器,用作互联网网关。该服务器连接到互联网,我们使用 iptables 转发流量并在网络中的所有计算机之间共享互联网连接。这工作得很好。

但是,有时互联网会变得很慢。最有可能的用户之一正在下载视频或其他大文件。我想查明罪魁祸首。我正在考虑安装一个工具,可以通过 IP 监控通过服务器的网络流量。最好是实时以及累计总数(再次通过 IP)。有什么推荐的工具吗?最好是 Ubuntu 存储库中的东西。

networking ip monitoring bandwidth router

32
推荐指数
3
解决办法
6万
查看次数

进程 /usr/libexec/packagekitd 做什么?

这个过程不断占用我的带宽:

  1. 这个过程有什么作用?
  2. 杀死它安全吗?
  3. 将整个包移除是安全的(以防止它再次启动)
  4. 或者我应该阻止它再次在后台自动运行?

我正在运行 Fedora 23。

fedora bandwidth background-process

23
推荐指数
2
解决办法
1万
查看次数

限制特定 shell 的互联网带宽使用

我想在一个 shell 中更新我的 linux,但默认情况下,更新程序中的 wget 或 axel 使用所有带宽。

我怎样才能限制这个外壳的速度?

我希望其他 shell 拥有公平的份额,并限制该 shell 中的所有内容 - 类似于代理!

我使用 Zsh 和 Arch Linux。

这个问题侧重于进程范围或会话范围的解决方案。请参阅如何限制网络带宽?适用于 Linux 上的系统范围或容器范围的解决方案。

networking process bandwidth limit

22
推荐指数
2
解决办法
2470
查看次数

Linux 中的 IPsec 瓶颈是什么?

我试图比较在千兆以太网中连接的两台主机之间的几种网络安全协议的性能。

我的目标是看看我是否可以使带宽饱和,如果不能,限制因素是什么。

  • 使用 SSL,我可以达到 981 MBit/s,因此以太网链路显然是限制因素;
  • 使用 SSH,我只能达到 750 MBit/s,但我的一个核心的使用率为 100%。由于 SSH 是单线程的,CPU 是限制因素;
  • 使用 IPsec,我读到大约 500 MBit/s,但我的内核都没有达到 100%(它们低于 50%)。

所以我的问题是:为什么 IPsec 不能达到更高的带宽?

两台主机运行 Debian Wheezy 和 Strongswan 以获取 IPsec。

performance bandwidth ipsec

19
推荐指数
1
解决办法
8474
查看次数

有没有可以监控单个进程带宽使用情况的工具?

我找到了一个不错的监视器,它允许我记录单个进程的各种运行时数据。我正在寻找对带宽使用具有相同作用的等价物。理想情况下,该命令应类似于bwmon --pid 1 --log init.log. 有这样的吗?它可以在没有管理员权限的情况下运行吗?

monitoring bandwidth

16
推荐指数
2
解决办法
8870
查看次数

speedtest-cli:ValueError:int() 的无效文字,基数为 10:''

在 3 台机器上,我得到:

$ speedtest-cli 
Retrieving speedtest.net configuration...
Traceback (most recent call last):
  File "/usr/bin/speedtest-cli", line 11, in <module>
    load_entry_point('speedtest-cli==2.1.2', 'console_scripts', 'speedtest-cli')()
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1986, in main
    shell()
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1872, in shell
    speedtest = Speedtest(
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1091, in __init__
    self.get_config()
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1173, in get_config
    ignore_servers = list(
ValueError: invalid literal for int() with base 10: ''
Run Code Online (Sandbox Code Playgroud)

我已经在两个不同的互联网连接上测试了其中一台机器,结果相同。

为什么它不起作用?

bandwidth testing

15
推荐指数
2
解决办法
1万
查看次数