小编exa*_*exa的帖子

Linux TC 类/过滤器编号

我目前正在为 ISP 级公司开发流量整形解决方案,并遇到了一个有趣的(有点哲学)问题。

查看系统应该处理的端点数量(大约 20k),我有点担心当我需要策略/调整更多用户的流量时会发生什么。由于我目前正在为整个网络使用 HFSC 整形树(参见 tc-hfsc,主要是与众所周知的 HTB 相同但更酷的东西),我需要使用更多的 ClassID(显然每个用户至少有一个)网络)。我发现的问题是 TC ClassID 的数量有限——它们是 16 位数字,这使我可能最多有 64k 用户受此解决方案影响。

同样,如果我想有效地管理 TC 过滤器(例如,不使用“刷新所有技术”),我需要能够删除或修改单个过滤器条目。(我正在使用类似于 LARTC [1] 中的哈希表的东西)。同样,似乎唯一可行的方法是使用单独的优先级为所有过滤器编号(tc filter add dev ... prio 1)。没有其他参数可用于此目的,遗憾的是,prio 也是 16 位的。

我的问题如下:是否存在一些好的方法来扩大可用的“标识符空间”,例如 'tc class' 命令的 32 位 clsid,以及 'tc filter' 的 32 位优先级(或任何其他修改句柄)命令?

非常感谢,

-mk

(顺便说一句,我希望这不会出现“64k 用户应该对每个人都足够”的情况......)

networking linux traffic-shaping isp tc

12
推荐指数
1
解决办法
2710
查看次数

部分有序数据集的 Unix 排序

所以我有一个非常大的文件(大约 10GB)并且需要对它进行排序,就像使用“排序”实用程序一样,但更有效。

问题是,我没有内存、CPU 能力、时间,也没有可用的交换空间来支持整个排序。

好消息是文件已经部分排序(我可以说每一行与其最终位置的距离都小于某个值 N)。这让我想起了经典的计算机级示例,为此目的使用堆大小为 N 的堆排序。

问题:是否有一些 Unix 工具已经有效地做到了这一点,还是我需要自己编写一个代码?

谢谢-mk

unix files sort

7
推荐指数
1
解决办法
946
查看次数

标签 统计

files ×1

isp ×1

linux ×1

networking ×1

sort ×1

tc ×1

traffic-shaping ×1

unix ×1