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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2006-10-21 18:17:33

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Pakiety nie trafiaja do klas HTB

Wszystko wpada do kolejki default niewiem czemu moj HTB:
tc qdisc del dev ppp0 root
tc qdisc add dev ppp0 root handle 1:0 htb default 3
tc class add dev ppp0 parent 1:0 classid 1:1 htb prio 4 rate 94kbit ceil 94kbit quantum 16
tc class add dev ppp0 parent 1:1 classid 1:2 htb prio 1 rate 5kbit  ceil 5kbit quantum 4
tc class add dev ppp0 parent 1:1 classid 1:3 htb prio 1 rate 89kbit ceil 94kbit quantum 4
tc qdisc add dev ppp0 parent 1:2 handle 2:0 sfq perturb 10
tc qdisc add dev ppp0 parent 1:3 handle 3:0 sfq perturb 10
tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 21 fw flowid 1:2
tc filter add dev ppp0 protocol ip preference 1 parent 1:0 handle 20 fw flowid 1:3
iptables -t mangle -A POSTROUTING -m layer7 --l7proto ftp -j MARK --set-mark 21
iptables -t mangle -A POSTROUTING -m layer7 --l7proto ssh -j MARK --set-mark 20
moj konfig kernela:http://www.hell.az.pl/config.txt moze coś zapomniałem??
polecenie tc filter show dev ppp0:
filter parent 1: protocol ip pref 1 fw
filter parent 1: protocol ip pref 1 fw handle 0x14 classid 1:3
filter parent 1: protocol ip pref 1 fw handle 0x15 classid 1:2
Jak coś jeszcze potrzeba to do rzuce!Już od tygodnia googluje i nic nie wygooglowałem :(

Offline

 

#2  2006-10-21 21:29:22

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: Pakiety nie trafiaja do klas HTB

w iptables tez daj 0x14 i 0x15


[url=http://www.netfix.pro]www.netfix.pro[/url]

Offline

 

#3  2006-10-21 21:40:35

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
UPIERDALACZ  all  --  anywhere             anywhere
MARK       all  --  anywhere             anywhere            LAYER7 l7proto ftp MARK set 0x15
MARK       all  --  anywhere             anywhere            LAYER7 l7proto ssh MARK set 0x14

Nic to nie zmienia :(
klasa 1:2 nadal pusta wszystko wpada do default

Offline

 

#4  2006-10-22 11:02:48

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

Po dalszych testach doszedłem do takiego o to wniosku jeżeli zamarkuje pakiety w ten sposób:
iptables -t mangle -A POSTROUTING -p tcp --sport 21 -j MARK --set-mark 21
iptables -t mangle -A POSTROUTING -p tcp --sport 22 -j MARK --set-mark 20
Pakiety trafiają do odpowiednich klas.
Wiec wygląda na to że markowanie przez 7-layer nie działa!:(
Tylko dlaczego i co zrobić żeby działało bo p2p nie zamarkuje sobie w ten sposob a o to głównie chodzi.

Offline

 

#5  2006-10-22 11:21:11

  Szczur[R] - Użytkownik

Szczur[R]
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2006-03-29

Re: Pakiety nie trafiaja do klas HTB

markujesz w ten sposob ??

iptables -t mangle -A POSTROUTING -m layer7 --l7-proto gnutella -j MARK --set-mark 21


MARK all — anywhere anywhere LAYER7 l7proto ftp MARK set 0x15
MARK all — anywhere anywhere LAYER7 l7proto ssh MARK set 0x14
[/quote]
a co to niby jest ?? markujesz ftp za pomoca l7 ??!!??


pozdr


[url=http://dziecineo.prv.pl][img]http://sopot.i365.pl/neo/i/us4.jpg[/img][/url]

Offline

 

#6  2006-10-22 12:00:01

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

"]

a co to niby jest ?? markujesz ftp za pomoca l7 ??!!??

[/quote]
A dlaczego nie?
A za pomoca 7l nie mozna calego ruchu p2p zamarkowac??
jak za pomoca ipp2p ktore to zreszta tez mi niedziała:(

Offline

 

#7  2006-10-22 12:30:47

  Szczur[R] - Użytkownik

Szczur[R]
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2006-03-29

Re: Pakiety nie trafiaja do klas HTB

ipp2p dziala i to bdb. komilujesz ze zrodel wersja rc2 z serii 8 bodajze.
ponawiam pytanie: jak markujesz - tak jak napisalem czy jak ??

l7 sluzy do filtrowania p2p glownie, do innych zastosowan nie polecam, a ftp to nie jest p2p.
urzywam ipp2p jako glowny filtr a l7 uszczelnia tylko przeciekajacy udp na sieciach gnutella.


pozdr


[url=http://dziecineo.prv.pl][img]http://sopot.i365.pl/neo/i/us4.jpg[/img][/url]

Offline

 

#8  2006-10-22 13:38:44

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

"]ipp2p dziala i to bdb. komilujesz ze zrodel wersja rc2 z serii 8 bodajze.
ponawiam pytanie: jak markujesz - tak jak napisalem czy jak ??

l7 sluzy do filtrowania p2p glownie, do innych zastosowan nie polecam, a ftp to nie jest p2p.
urzywam ipp2p jako glowny filtr a l7 uszczelnia tylko przeciekajacy udp na sieciach gnutella.


pozdr[/quote]
Wiem, że ftp to nie p2p, to było tylko w celach testowych!!!
a p2p markuje tak:
iptables -t mangle -A POSTROUTING -m ipp2p --ipp2p -j MARK --set-mark 21
i wgóle klasa na p2p jest pusta nic nie wpada.
Natomiast jak uzyje:
iptables -A FORWARD -m ipp2p --ipp2p -j DROP
to działa super
A ipp2p skompilowałem 0.8.2

Offline

 

#9  2006-10-22 15:41:05

  Szczur[R] - Użytkownik

Szczur[R]
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2006-03-29

Re: Pakiety nie trafiaja do klas HTB

sproboj moze w mysl zasady dzialania htb:

-download ograniczasz na lokalnym
-upload na publicznym
wiec: skoro ograniczasz ruch na ppp0 (co widze w pierwszym poscie) to zastosuj regulke markujaca ruch idacy DO ppp0 (download) a nie caly.
dodaj -s 0/0, -d [klasa sieci na ppp0)

jesli to nie dziala to zapodaj swojego firewalla - moze jakies inne wpisy pasuja da tych pakietow i sie to nie markuje


pozdr


[url=http://dziecineo.prv.pl][img]http://sopot.i365.pl/neo/i/us4.jpg[/img][/url]

Offline

 

#10  2006-10-22 15:58:30

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

"]sproboj moze w mysl zasady dzialania htb:

-download ograniczasz na lokalnym
-upload na publicznym
[/quote]
No własnie ppp0 to moj publiczny i to ma byc upload ograniczony

"]
wiec: skoro ograniczasz ruch na ppp0 (co widze w pierwszym poscie) to zastosuj regulke markujaca ruch idacy DO ppp0 (download) a nie caly.
dodaj -s 0/0, -d [klasa sieci na ppp0)
[/quote]
przecież na ppp0 nie moge ograniczyc downloadu?Mam neo i tam jest zawsze ta sama klasa sieci??
A skoro mowa o download to czy takie rozwiazanie ma szanse działania??:
moja siec:
ppp0 - net
router(debian)
   |         |
   |       eth0 -pierwsy komp
  eth1 - drugi komp
na routerze działa mldonkey wiec chce podzielic na 3 równe pasma - mój pomysł: IMQ + markowanie pakietów po dst ip, później sprawdzienie które nie sa zamarkowane i im inny mark(te beda nalezec do serwera)
O ile dobrze kombinuje to IMQ musi być po NAT bo inaczej nic z tego?
Ma to szanse działania czy nie?

Offline

 

#11  2006-10-22 22:01:46

  Szczur[R] - Użytkownik

Szczur[R]
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2006-03-29

Re: Pakiety nie trafiaja do klas HTB

imq daje zawsze po nat - nie probowalem nigdy inaczej.... ale moze tez dziala :)
z tym download/upload sie zamotalem - faktycznie ppp publiczny i na nim ograniczysz wychodzace
wiec biorac ta mala poprawke (-s 0/0 -d ip_lokalnego_kompa) + to co wczesniej napisalem sproboj jeszcze raz czy markuje.

pozdr


[url=http://dziecineo.prv.pl][img]http://sopot.i365.pl/neo/i/us4.jpg[/img][/url]

Offline

 

#12  2006-10-23 09:16:59

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

"]imq daje zawsze po nat - nie probowalem nigdy inaczej.... ale moze tez dziala :)
z tym download/upload sie zamotalem - faktycznie ppp publiczny i na nim ograniczysz wychodzace
wiec biorac ta mala poprawke (-s 0/0 -d ip_lokalnego_kompa) + to co wczesniej napisalem sproboj jeszcze raz czy markuje.
pozdr[/quote]
teraz ja mam zamotke a nie przypadkiem (-s ip_lokalnego_kompa -d 0/0) to jest ruch wychodzący!
Ale serwer też mysyla pakiety p2p!Wiec takie markowanie chyba nie wiele mi pomoże:(

A co do download - to w którym łańcuchu poprawnie zamarkować pakiety należące do danego IP???

Offline

 

#13  2006-10-23 18:08:04

  Szczur[R] - Użytkownik

Szczur[R]
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2006-03-29

Re: Pakiety nie trafiaja do klas HTB

no chyba wlasnie nie :) z punktu widzenia serwera: pakiet przychadzi z kad kolwiek (-s 0/0) i adresowany jest przez niego do kompa (np. -d 192.168.1.4/24) to jest download bo klient pobiera dane z neta
upload - pakiet przyszedl int. lokanym z kompa (-s 192.168.1.4/24) i adresowany jest w neta do kadkolwiek (0/0)

a dokadkolwiek dlatego ze nie przewidzisz z czym sie klient laczy, ale przewidujesz ze polaczenie wyjdzie z kompa klienta (upload)
i nie przewidzidz z kad pakiet idzie ale wiesz ze bedzie adresowany do danego klienta (download)

teraz sie chyba nie pomylilem =)

pozdr


[url=http://dziecineo.prv.pl][img]http://sopot.i365.pl/neo/i/us4.jpg[/img][/url]

Offline

 

#14  2006-10-23 19:26:14

  Nickleodeon - Członek DUG

Nickleodeon
Członek DUG
Skąd: Drawsko Pomorskie
Zarejestrowany: 2005-08-19

Re: Pakiety nie trafiaja do klas HTB

"]...teraz sie chyba nie pomylilem =)...pozdr[/quote]
Potwierdzam: mowisz z sensem :)
Jezeli serwer to 'sprzegniete ze soba' interfejsy to faktycznie DOWNLOAD (czyli to co SCIAGA klient z inetu) ograniczamy na interfejsie lokalnym LAN natomiast UPLOAD (to, co klient wysyla do inetu) na interfejsie zewnetrznym WAN (PPPo). Z markowaniem w iptablach mam tak:
iptables -t nat -A POSTROUTING -s ip.lokalne.miska -d 0.0.0.0/0 -j SNAT --to-source ip.zewnetrzne.routera
iptables -t mangle -A PREROUTING -p all -s ip.lokalne.miska -j MARK --set-mark mark.miska
gdzie:
ip.lokalne.miska: np. 192.168.1.100
ip.zewnetrzne.routera: np. 195.204.34.1
mark.miska: np. 100 (konkretna liczba)
Ograniczenie dla DL jest po IP dest. natomiast UL robi sie markujac pakiety od miska - przez to wpadaja do odpowiednich kolejek klienckich.
w HTB mam tak:
$TC class add dev eth1 parent 1:2 classid 1:koncowka_ip_miska htb rate $d_g ceil $d_no prio 3 burst 10k quantum 1492
$TC qdisc add dev eth1 parent 1:koncowka_ip_miska sfq perturb 10
$TC filter add dev eth1 protocol ip prio 3 parent 1:0 u32 match ip dst ip_miska flowid 1:koncowka_ip_miska
$TC class add dev eth0 parent 2:1 classid 2:koncowka_ip_miska htb rate $u_g ceil $u_no prio 3 burst 10k quantum 1492
$TC qdisc add dev eth0 parent 2:koncowka_ip_miska sfq perturb 10
$TC filter add dev eth0 parent 2:0 protocol ip prio 5 handle koncowka_ip_miska fw flowid 2:koncowka_ip_miska
gdzie:
koncowka_ip_miska=mark_miska: np 50
Uproscilem sobie sprawe, tworzone klasy dla miskow na interfejsach oznaczam koncowkami IP miskow. Podobnie ze znakowaniem pakietow - mark jest taki sam jak koncowka ip miska.
Oczywiscie to nic nowego, maniana zaczyna sie dopiero gdy klienci maja mozliwy ruch miedzy soba w LANie lub jest np PROXY. Pomocne okazuje sie np. IMQ - interfejsy wirtualne. I tworzy sie juz calkiem ciekawa sytuacja:
WAN <===> IMQ(1,2) <===> LAN
Wszelkie kolejki tworzy sie wtedy na miedzymordziach wirtualnych.
Mozna dodac L7 do filtreowania wszelkiego syfu.

Offline

 

#15  2006-10-24 16:21:49

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

Dobra działa! Dzieki za wszelka okazaną mi pomoc!

Offline

 

#16  2006-10-24 21:27:32

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: Pakiety nie trafiaja do klas HTB

Jednak nie tak jak powinno... tym razem problem z downloadem!
ip link set imq1 up
iptables -t mangle -A PREROUTING -i ppp0 -j IMQ --todev 1
tc qdisc del dev imq1 root
tc qdisc add dev imq1 root handle 1:0 htb default 2
tc class add dev imq1 parent 1:0 classid 1:1 htb rate 155kbit ceil 155kbit quantum 1500
tc class add dev imq1 parent 1:1 classid 1:2 htb rate 5kbit ceil 155kbit prio 2 quantum 1500 #serwer
tc class add dev imq1 parent 1:1 classid 1:3 htb rate 70kbit ceil 155kbit prio 1 quantum 1500 #ja
tc class add dev imq1 parent 1:1 classid 1:4 htb rate 70kbit ceil 155kbit prio 2 quantum 1500 # moj brat
tc class add dev imq1 parent 1:1 classid 1:5 htb rate 10kbit ceil 10kbit quantum 1500
tc qdisc add dev imq1 parent 1:2 handle 2:0 sfq perturb 10
tc qdisc add dev imq1 parent 1:3 handle 3:0 sfq perturb 10
tc qdisc add dev imq1 parent 1:4 handle 4:0 sfq perturb 10
tc qdisc add dev imq1 parent 1:5 handle 5:0 sfq perturb 10
tc filter add dev imq1 parent 1:0 protocol ip u32 match ip dst 192.168.1.2 flowid 1:3
tc filter add dev imq1 parent 1:0 protocol ip u32 match ip dst 192.168.2.2 flowid 1:4
tc filter add dev imq1 parent 1:0 protocol ip u32 match ip dport 22 0xffff flowid 1:5
I kwestia jest tego rodzaju ze jak serwer cos ciagnie a probuje cos na kompie otworzyc to chodzi to tak samo jak przed zrobieniem tego kolejkownia. Dlaczego jest tu cos zle napisane??

Offline

 

#17  2006-10-25 23:54:03

  Szczur[R] - Użytkownik

Szczur[R]
Użytkownik
Skąd: Czestochowa
Zarejestrowany: 2006-03-29

Re: Pakiety nie trafiaja do klas HTB

wiem ze gotowiec to nie najlepsze rozwiazanie... ale licze na to ze go przeanalizujesz i dostrzezesz bledy: mylisz pre/post-routing oraz -i z -o

ponizej masz kompletna kolejke na dwoch userow
kolejka tnie download i upload, ponadto umozliwia transfer klient<->serwer znacznie wiekszy niz klient<->net - jesli tego nie potrzebujesz to wywal na wstepie, nastepnie pozmieniaj sobie zmienne - w moim przypadku: eth0=public eth1=lan 192.168.1.1=serwer *.5 i *.6 przykladowi klienci.
na tej podstawie zrobisz kolejkowanie z prawdziwego zdarzenia, przypominam ze potrzebujesz miec w jajku dwa interfejsy imq ustawione gdyz jeden idzie na download a drugi na upload.
jak czegos nie wiesz to pisz. polecam ponownie lektorke z dzialu artykuly na dug.net.pl

Kod:

#!/bin/sh

#Kolejka
IPTABLES="/usr/local/sbin/iptables"
tc="/sbin/tc"
ip="/sbin/ip"

#Gwarantowane
d="128kbit"
u="24kbit"
#Maxymalne
dm="900kbit"
um="190kbit"
#LAN
l="3000kbit"
lm="50000kbit"
lip="192.168.1.1"
wan="xxx.xxx.xxx.xxx"

$tc qdisc del root dev imq0
$tc qdisc del root dev imq1

$IPTABLES -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 0
$IPTABLES -t mangle -A PREROUTING -i eth1 -j IMQ --todev 1

$ip link set imq0 up
$ip link set imq1 up

$tc qdisc add dev imq0 root handle 1:0 htb
$tc qdisc add dev imq1 root handle 2:0 htb

$tc class add dev imq0 parent 1:0 classid 1:1 htb rate 70000kbit ceil 70000kbit
$tc class add dev imq1 parent 2:0 classid 2:1 htb rate 70000kbit ceil 70000kbit

#Net Download/Upload
$tc class add dev imq0 parent 1:1 classid 1:2 htb rate 3900kbit ceil 3900kbit
$tc class add dev imq1 parent 2:1 classid 2:2 htb rate 500kbit ceil 500kbit
#LAN Download/Upload
$tc class add dev imq0 parent 1:1 classid 1:3 htb rate 55000kbit ceil 55000kbit
$tc class add dev imq1 parent 2:1 classid 2:3 htb rate 55000kbit ceil 55000kbit
#

#192.168.1.5 - 5
$tc class add dev imq0 parent 1:2 classid 1:5 htb rate $d ceil 2000kbit
$tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.1.5 flowid 1:5
$tc qdisc add dev imq0 parent 1:5 handle 5:0 sfq perturb 10

$tc class add dev imq0 parent 1:3 classid 1:505 htb rate $l ceil $lm
$tc filter add dev imq0 protocol ip parent 1:0 u32 match ip src $lip flowid 1:505
$tc filter add dev imq0 protocol ip parent 1:0 u32 match ip src $wan flowid 1:505

$tc class add dev imq1 parent 2:2 classid 2:5 htb rate $u ceil $um
$tc filter add dev imq1 protocol ip parent 2:0 u32 match ip src 192.168.1.5 flowid 2:5
$tc qdisc add dev imq1 parent 2:5 handle 5:0 sfq perturb 10

$tc class add dev imq1 parent 2:3 classid 2:505 htb rate $l ceil $lm
$tc filter add dev imq1 protocol ip parent 2:0 u32 match ip dst $lip flowid 2:505
$tc filter add dev imq1 protocol ip parent 2:0 u32 match ip dst $wan flowid 2:505

#192.168.1.6 - 6
$tc class add dev imq0 parent 1:2 classid 1:6 htb rate $d ceil $dm
$tc filter add dev imq0 protocol ip parent 1:0 u32 match ip dst 192.168.1.6 flowid 1:6
$tc qdisc add dev imq0 parent 1:6 handle 6:0 sfq perturb 10

$tc class add dev imq0 parent 1:3 classid 1:506 htb rate $l ceil $lm
$tc filter add dev imq0 protocol ip parent 1:0 u32 match ip src $lip flowid 1:506
$tc filter add dev imq0 protocol ip parent 1:0 u32 match ip src $wan flowid 1:506

$tc class add dev imq1 parent 2:2 classid 2:6 htb rate $u ceil $um
$tc filter add dev imq1 protocol ip parent 2:0 u32 match ip src 192.168.1.6 flowid 2:6
$tc qdisc add dev imq1 parent 2:6 handle 6:0 sfq perturb 10

zauwarz ze kolejki glowne na imq = 70000kbit - to jest m/w realna predkosc osiagalna na sredniej klasy switchu/karcie lan - z niej rozchodzi sie ruch na klient<->serwer i klient<->net - do tej glownej 70000kbit nie podpinasz userow tylko do pochodnych.
jesli masz wifi a nie lan, proponuje dostosowac wartosc do predkosci sieci.


pozdr


[url=http://dziecineo.prv.pl][img]http://sopot.i365.pl/neo/i/us4.jpg[/img][/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.013 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00015 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00110 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='18.221.157.203' WHERE u.id=1
0.00147 UPDATE punbb_online SET logged=1738447722 WHERE ident='18.221.157.203'
0.00056 SELECT * FROM punbb_online WHERE logged<1738447422
0.00130 DELETE FROM punbb_online WHERE ident='3.213.46.222'
0.00063 SELECT topic_id FROM punbb_posts WHERE id=42987
0.00006 SELECT id FROM punbb_posts WHERE topic_id=5582 ORDER BY posted
0.00074 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=5582 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00328 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=5582 ORDER BY p.id LIMIT 0,25
0.00133 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=5582
Total query time: 0.01075 s