小编Wil*_*ire的帖子

带宽整形,最好的方法

假设我有一个服务器有很多外部 IP,1024+。我的用户造成了大量流量,但不是全部。吃掉所有带宽的人很少,并导致其他人因吃掉所有带宽而遭受低互联网速度的困扰。

我们正在考虑实施一个塑造规则,以确保每个人或至少大多数人都快乐,我们正在讨论实现这一目标的最佳方法。

第一个计划

计算有多少客户端登录并在它们之间分配带宽,让每个人都吃同样的蛋糕。

好处:

  • 我不会为带宽支付大笔费用
  • 没有人违法

    缺点

  • 带宽平均分配,带宽需求低的用户(阅读论文、阅读 Facebook 等)将拥有与依赖我的服务开展业务的重度用户相同的带宽。

  • 所有用户都将拥有相同的带宽,但是,低需求的用户将“监禁”他们的份额,即使他们不需要全部,所以我有很多带宽没有被使用

第二个计划

监控用户并查看他们是否达到或超过带宽限制(服务器总限制)。如果他们达到这一点,请尝试确定用户吃得最多的是什么。如果我们发现用户吃掉了总带宽的 40%-50% 以上,就把他们送进监狱 20 分钟。例如,监狱意味着将带宽降低到 250kb/s。

好处:

  • 不浪费带宽
  • 如果没有浪费带宽,重要的用户可以使用更多的带宽,我有满意的客户
  • 这是一个更智能的解决方案,允许每个人根据自己的需求进行扩展
  • 使用带宽警察,坏人被监禁,好人(大多数情况下是很多人)是一个幸福的社会

    缺点

  • 重负载服务器上的监控工具可以让它“休眠”,因为它们往往会消耗大量资源

  • 我可能没有坏人,但网上有很多好人,带宽超过限制,不知道该惩罚谁(在这种情况下,我们可能会申请 1 小时的第一个计划)

我愿意接受一些头脑风暴和建议

traffic-shaping

10
推荐指数
1
解决办法
462
查看次数

Apache、nginx 还是 lighttpd?

我将在一个活动中实时发布博客,并预计流量会激增。我目前正在使用 apache 和 modphp,它去年在交通繁忙的情况下死亡,我不希望它再次发生。

我正在考虑为这个在 wordpress 上运行的博客设置一个单独的 VPS。

我应该使用什么 http 服务器?apache、lighttpd 还是 nginx?

哪个在重负载下表现最好?

通过 AJAX 更新,内容将非常动态。

php nginx lighttpd wordpress apache-2.2

5
推荐指数
2
解决办法
9742
查看次数

从 dos 实用程序固件更新程序创建可引导的 PXE 映像

我想知道是否可以从 dos 实用程序固件制作 PXE 可启动映像。对于某些细节,固件更新程序通常安装在U 盘上。我有所有的平面文件。我应该将平面文件转储到我的 tftpboot 服务器上,然后为 pxemenu 添加适当的位,还是该过程涉及更多?

我找到了 FreeDOS,但他们不提供大于 1.44MB 的映像,这是一个问题,因为仅固件 rom 的大小就为 5MB。我尝试使用这些步骤创建一个更大的图像,但没有任何成功,因为每次我进入该图像时,它不显示通常的 FreeDOS 菜单(它只打印出 FreeDOS 并且不提供命令提示符)。

编辑:我能够从这里让 rom 从 FreeDOS 映像中运行,但是当然,当运行 rom 时,它说 rom 已损坏,因为整个 rom 实际上并不在那里,并且由于只有 1.44 而只是部分在那里图像上的 MB 空间。更复杂的是,rom 只会在 Himem.exe 和 emm386.exe 运行时运行(它们是通过在 FreeDOS 上选择第二个选项来启动的)。

EDIT2:在将平面文件添加到 U 盘和我找到的自定义 freedos U 盘中的 COMMAND.COM 后,我终于让 U 盘工作了。仍然将文件复制到 USB 映像并尝试从 PXE 启动它拒绝启动。

linux firmware pxe-boot

4
推荐指数
1
解决办法
8846
查看次数

在无主设置中使用 hiera 并获取为类设置的值时遇到问题

我正在运行一个 masterless puppet 设置,它以以下方式应用 puppet 更改。

puppet apply /tmp/puppet/manifests/site.pp --modulepath=/tmp/puppet/modules --hiera_config=/tmp/puppet/hiera.yaml
Run Code Online (Sandbox Code Playgroud)

我一直在尝试在 hiera 中处理我们拥有的不同类型的节点,并且作为起点,我一直在尝试使用在节点上设置的自定义事实。这个事实是节点类型,在这个例子中被设置为无盘值。

节点上的因素认识到这一事实。

# facter -y | grep nodetype
nodetype: diskless
Run Code Online (Sandbox Code Playgroud)

并且 hiera.yaml 包含以下内容

---
:backends:
  - yaml
:yaml:
  :datadir: /tmp/puppet/data
:hierarchy:
  - node/%{::nodetype}
Run Code Online (Sandbox Code Playgroud)

在 /tmp/puppet/data/node/diskless.yaml 有

---
cluster: blues
Run Code Online (Sandbox Code Playgroud)

虽然这样做之后我尝试仔细检查 hiera 然后根据需要设置变量,但它似乎不起作用。

hiera -y diskless.yaml cluster
nil
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来调试问题。我相信这很简单,但如果 hiera 不能(或不能)在这个用例中运行会令人失望。

干杯

编辑1:

附加调试

hiera cluster '::nodetype=diskless' -d
DEBUG: Fri Oct 31 16:54:01 -0400 2014: Hiera YAML backend starting
DEBUG: Fri Oct 31 16:54:01 -0400 2014: Looking up …
Run Code Online (Sandbox Code Playgroud)

puppet facter hiera

4
推荐指数
1
解决办法
2842
查看次数

Linux Shell Grep 输出到文本文件

我正在尝试在我的服务器上的多个站点中搜索一些关键字并将它们输出到文本文件中。我只知道怎么做:

 grep -r "keyword1" *
 grep -r "keyword2" *
Run Code Online (Sandbox Code Playgroud)

我需要能够将这两个关键字组合到搜索中并将位置输出到文本文件中。

linux shell

0
推荐指数
1
解决办法
2428
查看次数