|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vasily Krysin 2:5054/29.29 25 Dec 2002 22:51:52 To : Victor Sudakov Subject : Re^2: Учет тpаффика -------------------------------------------------------------------------------- 25 Dec 02 06:34, you wrote to me: [...] VS> Hе забудь показать соответствующие им селекты и скрипты. угугу. про несколько раз я приврал конечно ;) и тем не менее - вот логи: ## MySQL: mysql> show columns from acct; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | saddr | char(16) | | | 0.0.0.0 | | | sport | int(11) | | | 0 | | | daddr | char(16) | | | 0.0.0.0 | | | dport | int(11) | | | 0 | | | proto | int(11) | | | 0 | | | packet | int(11) | | | 0 | | | byte | int(11) | | | 0 | | +--------+----------+------+-----+---------+-------+ 7 rows in set (0.04 sec) mysql> select count(*) from acct; +----------+ | count(*) | +----------+ | 25623398 | +----------+ 1 row in set (0.05 sec) mysql> select daddr, sum(byte) from acct group by daddr; +-----------------+--------------+ | daddr | sum(byte) | +-----------------+--------------+ | 0.0.0.1 | 11520 | | 10.0.0.66 | 82080 | [...] | 81.9.96.1 | 151920 | | 81.94.47.84 | 15660 | +-----------------+--------------+ 3311 rows in set (2 min 11.93 sec) [...] 3311 rows in set (2 min 14.14 sec) [...] 3311 rows in set (2 min 12.54 sec) ## Awk: sead@konkrit:~% ls -l dump.txt ; head -3 dump.txt ; tail -3 dump.txt -rw-r----- 1 sead wheel 810053660 Dec 25 11:55 dump.txt 192.168.1.199 2514 62.118.249.36 80 1370 192.168.1.199 2515 213.180.194.142 80 1930 192.168.1.199 2512 62.118.249.36 80 1154 192.168.1.218 137 192.168.1.255 137 234 192.168.1.218 138 192.168.1.255 138 2731 192.168.1.217 137 192.168.1.255 137 234 sead@konkrit:~% time awk '{ total[$3]+=$5; all++ } END { for (i in total) print i, total[i], n++; print all, n }' < dump.txt 65.105.124.49 17430 0 194.186.208.8 1558180 1 [...] 195.222.139.89 7020 3309 195.222.139.48 7020 3310 20000000 3311 174.629u 28.837s 3:25.06 99.2% 174+848k 6204+0io 4pf+0w [...] 174.381u 30.064s 3:45.45 90.6% 175+850k 6202+0io 2pf+0w [...] 173.935u 30.171s 3:27.71 98.2% 175+850k 6201+0io 2pf+0w вот так. малое количество записей, после обработки GROUP BY, обьясняется методом создания базы. т.к такой большой базы готовой у меня небыло - я делал так: INSERT INTO acct (...) SELECT ... FROM accttmp; INSERT INTO accttmp (...) SELECT ... FROM acct; и так несколько раз. в изначальной базе было ~900000 записей. данные в dump.txt взяты из этой же базы. комментарии? может я чего недонапродумал? VS> Victor Sudakov, VAS4-RIPE, VAS47-RIPN PS. да! система - FreeBSD 4.6-RELEASE, все стандартное - как было поставлено с сидюка, так и работает ;) peace! SeaD [deep.FreeZNet] --- GoldED+/LNX 1.1.4.7 * Origin: <sead> @ <perm.ru> (2:5054/29.29) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/34093e0a6f09.html, оценка из 5, голосов 10
|