Igoras 05 фев 2010, 22:19
Ну, не заметил великой разницы между "Наконец, самый простой тип classless-очереди — pfifo (лимит пакетов) и bfifo (лимит байтов). Эти очереди являются простыми очередями определенной длины, не выполняющими никаких действий над поступающими в них пакетами. Единственный параметр таких очередей — limit, означающий размер очереди в пакетах (pfifo) и в байтах (bfifo)" и "These queuing disciplines are based on the FIFO algorithm (First-In First-Out). The difference between PFIFO and BFIFO is that one is measured in packets and the other one in bytes. There is only one parameter called pfifo-limit (or bfifo-limit in case of BFIFO) which defines how much data a FIFO queue can hold. Every packet that cannot be enqueued (if the queue is full), is dropped. Large queue sizes can increase latency, but utilize channel better. Use FIFO queuing disciplines if you have a noncongested link." Во втором случае инфы даже больше.... а внизу целых 3 примера как пользоваться очередями в реалии жизни...
Если все ясно, то вопроса о переходе на PCQ бы не стояло. PCQ это тип, который позволяет резать пакеты на подочереди по определенному признаку, чтобы затем для этих подочередей выставить некий лимит. Удобно использовать, когда есть канал в 10 мбит, и хочется, чтобы был один шейпер, который бы делил эти 10 мбит между всеми поровну при большой загрузке, но в то же время чтобы каждый клиент не мог качать быстрее 2 мбит. Вот тогда создается pcq-очередь, вернее 2 очереди, на вход и на выход, где раскладывание на подочереди ведется по дст и срц ип соответственно, затем создается правило в queue tree (по сути HTB-дерево, если в терминологии статьи об iproute2), выставляются лимиты скорости для подочередей внутри pcq-очереди (pcq-rate), в данном случае 2 мбита, и выставляется лимит скорости на сами pcq-очереди в queue tree - 10 мбит. В итоге юзеры качают с максимальной скоростью 2 мбита при свободном канале, и скорость пропорционально снижается при загрузке общего канала до предела.
Поставить на интерфейс pcq смысла не вижу, тогда все пакеты приходящие или уходящие на интерфейс будут резаться по правилам заданным для pcq, а задача интерфейса обычно не резать, а протолкнуть пакеты.... тут как раз к месту фифо - просто отсылающий пакеты одной очередью безо всяких приоритетов.