Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam zrobiłem skrypt do ograniczania ruchu wychodzącego z serwera ale mam pytanie jak rozwiązać taką sprawę
podczas downloadu jakiś upload jest zawsze potrzebny i przez globalne ograniczenie upload do pewnych wartości download nie może rozwinąć pełnej prędkości
jak to rozwiązać aby te specyficzny upload powstały w wyniku downloadu miał własna kolejkę lub nie był cięty? jak to będzie typ połączeń ?
Offline
Możesz utworzyć kolejkę na podstawie portu.
Offline
czyli jakiego portu ? ta transmisja odbywa się na wielu połączeniach i bardzo wielu portach
Ostatnio edytowany przez max333 (2010-06-06 11:36:17)
Offline
To może podaj o jakiej usłudze mówimy? A nie możesz poprostu zezwolić na jakiś upload dla usera aby jak będzie chciał to mu download będzie hulał, a jak sobie zawali czymś to nie?
Offline
powiedz userowi że jak wyłączy p2p i przestanie wysyłać dane to będzie miał pełny download
Offline
chodzi o upload całościowy z eth0 serwera dedykowanego nie ma LAN i userow
Offline
napisz jeszcze o jaką usługę chodzi?
Offline
dowolne ftp p2p www wszystko np chce aby upload z serwera dedykowanego z 1 eth0 do ip w świat 1.2.3.4 był ograniczony do 10Mb/s a download z tego IP był bez limitu
Ostatnio edytowany przez max333 (2010-06-08 19:34:46)
Offline
A czytałeś to?:)
http://stary.dug.net.pl/texty/htb.php
Offline
zrozumiałeś jaki mam problem ?
Offline
Jak bardzo tniesz ten upload, do jakich wartości ?
Przytkany (za mocno ścięty) upload skutkuje tym, że pakiety ACK nie wychodzą z Twojego kompa, co powoduje spadek prędkości pobierania. UDP nie ma tego problemu :)
Offline
No właśnie pisze o tym cały czas i pytam jak to rozwiązać
Offline
Puść pakiety ACK osobną kolejką.
przemekk@acer ~ $ cat przetykacz #!/bin/bash /usr/local/sbin/tc qdisc del root dev eth1 /usr/local/sbin/tc qdisc add dev eth1 root handle 1: hfsc default 13 /usr/local/sbin/tc class add dev eth1 parent 1: classid 1:2 hfsc ls m2 450kbit ul m2 450kbit #main /usr/local/sbin/tc class add dev eth1 parent 1:2 classid 1:3 hfsc ls m2 450kbit ul m2 450kbit #user /usr/local/sbin/tc class add dev eth1 parent 1:3 classid 1:11 hfsc sc d 40ms m2 350kbit ul m2 450kbit #ack & syn /usr/local/sbin/tc class add dev eth1 parent 1:3 classid 1:12 hfsc sc d 40ms m2 50kbit ul m2 450kbit #icmp /usr/local/sbin/tc class add dev eth1 parent 1:3 classid 1:13 hfsc ls m2 50kbit ul m2 450kbit #bulk #ssh #/usr/local/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 23456 0xffff flowid 1:11 #ack /usr/local/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:11 # We want SYN packets to be in High priority flow /usr/local/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u8 0x02 0xff at 33 flowid 1:11 #icmp /usr/local/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 4 u32 match ip protocol 1 0xff flowid 1:12 #all /usr/local/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 5 u32 match ip dst 0.0.0.0/0 flowid 1:13 /usr/local/sbin/tc qdisc add dev eth1 parent 1:13 handle 20: sfq
Offline
Time (s) | Query |
---|---|
0.00014 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00132 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.149.254.25' WHERE u.id=1 |
0.00204 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.149.254.25', 1732669231) |
0.00073 | SELECT * FROM punbb_online WHERE logged<1732668931 |
0.00063 | DELETE FROM punbb_online WHERE ident='18.119.142.210' |
0.00060 | DELETE FROM punbb_online WHERE ident='185.191.171.19' |
0.00061 | SELECT topic_id FROM punbb_posts WHERE id=149420 |
0.00235 | SELECT id FROM punbb_posts WHERE topic_id=16975 ORDER BY posted |
0.00108 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=16975 AND t.moved_to IS NULL |
0.00012 | SELECT search_for, replace_with FROM punbb_censoring |
0.00129 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=16975 ORDER BY p.id LIMIT 0,25 |
0.00118 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=16975 |
Total query time: 0.01214 s |