<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Подскажите пожалуйста куда рыть, не могу оптимизировать шейпер tc...]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=28038&amp;type=atom" />
	<updated>2013-04-30T20:08:14Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=28038</id>
		<entry>
			<title type="html"><![CDATA[Подскажите пожалуйста куда рыть, не могу оптимизировать шейпер tc...]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=343500#p343500" />
			<content type="html"><![CDATA[<p>Уважаемые знатоки помогите решить проблему стоит cent 6.3, есть два роутера на первом в пик 95000 соеденений на втором 125000... На первом роутере пинг 0-1мс в пик потерь нет, на втором пинг 1-10мс 6% потерь, с 50 пакетов, скорость плохо режиться как только я тормажу шейпер, пинг спадает потерь нет... Изначально скрипт был без хэш таблиц переписав на хэш таблицы я надеялся проблема уйдёт, но нет.. Я написал вот такой скрипт: </p><div class="codebox"><pre><code>stop &gt; /dev/null 2&gt;&amp;1
#Добавление корневых дисциплин
#in
${TC} qdisc add dev eth1 root handle 1: htb
#out
${TC} qdisc add dev eth0 root handle 1: htb
#Добавление корневых классов
#in
${TC} class add dev eth1 parent 1: classid 1:1 htb rate 1024mbit
#out
${TC} class add dev eth0 parent 1: classid 1:1 htb rate 1024mbit
#Добавление хэш-таблиц на каждую подсеть
${CAT} ${NETS} | ${SED} -r &#039;s/192\.168\.([0-9]{1,2}).{1,}/\1/&#039; | while read &#039;seg&#039;
do
${TC} filter add dev eth1 parent 1: prio 1 handle ${seg}: protocol ip u32 divisor 256
${TC} filter add dev eth1 parent 1: protocol ip u32 ht 800:: match ip dst 192.168.${seg}.0/24 hashkey mask 0x000000ff at 16 link ${seg}:
done
${CAT} ${DATA} ${DATAEX} | while read &#039;ip&#039; &#039;speed&#039;
do
local THREEOC=`${ECHO} ${ip} | $SED -r &#039;s/192\.168\.([0-9]{1,2}).{1,}/\1/&#039;`
local THREEOCHEX=`${PRINTF} &#039;%x\n&#039; ${THREEOC}`
local FOUROC=`${ECHO} ${ip} | ${SED} -r &#039;s/192\.168\.[0-9]{1,2}.([0-9]{1,3})/\1/&#039;`
local FOUROCHEX=`${PRINTF} &#039;%x\n&#039; ${FOUROC}`
local ID=`${PRINTF} &#039;%x\n&#039; ${THREEOC}${FOUROC}`
#in
#Добавление классов для каждого ip
${TC} class add dev eth1 parent 1:1 classid 1:${ID} htb rate ${speed}kbit ceil ${speed}kbit prio 2 quantum 15365
${TC} qdisc add dev eth1 parent 1:${ID} handle ${ID}: sfq perturb 10
${TC} filter add dev eth1 protocol ip prio 2 u32 ht ${THREEOC}:${FOUROCHEX}: match ip dst ${ip}/32 flowid 1:${ID}
#out
#Добавление классов для каждого ip
${TC} class add dev eth0 parent 1: classid 1:${ID} htb rate $[speed/2]kbit ceil $[speed/2]kbit prio 2 quantum 15365
${TC} qdisc add dev eth0 parent 1:${ID} handle ${ID}: sfq perturb 10
${TC} filter add dev eth0 parent 1: protocol ip prio 2 u32 ht 800:: match ip src ${ip}/32 flowid 1:${ID}
#Дублируем списки для дальнейшей проверки
${CAT} ${DATA} &gt; ${DATA}.chk
${CAT} ${DATAEX} &gt; ${DATAEX}.chk
#Сообщение в лог
${ECHO} &quot;${DATE} $0  Шейпер запущен...&quot; &gt;&gt; ${LOG}
done</code></pre></div>]]></content>
			<author>
				<name><![CDATA[DECAL]]></name>
				<uri>https://linuxforum.ru/profile.php?id=7482</uri>
			</author>
			<updated>2013-04-30T20:08:14Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=343500#p343500</id>
		</entry>
</feed>
