powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация для хранения flows
6 сообщений из 6, страница 1 из 1
Оптимизация для хранения flows
    #33050142
user78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллективному разуму привет.
Такая вот задачка:

Требуется хранить информацию о проходящем трафике,
так вот база за 3 месяца раздувается примерно на 70 мил. записей
или порядка 10 гиг. Все храниться в одной таблице, по скорости занисения
записи в БД вобщемто проблем нет, но по скорости выборки есть бяда, таккак
в качестве интерфейса используется браузер, то несмотря на то что в момент
передачи данных браузер пинается на то чтобы он в таймаут не свалился
очень долго формируются данные на сервере для передачи скрипту пославшему
запрос.

Сервер БД (отдельный) от сервера WEB
HP DL320 2.2 Ghz/ 3Gb OЗУ / Win2k
Озу еще под одну задачу используется примерно на 1.5 Gb
Загрузки проца нет практически.

Мускул 4.1.7

Вопрос вот в чем, как я себе представляю, ускорить процесс
с момента посылки запроса серверу БД, до начало получения
данных, т.е. скорость передачи данных и скорость обработки
web сервером не роляют, устраивает. Кроме практически постоянно идущего
Insert-a в базу, запросов на Select очень мало, и возможность
посылки 2-ух select-ов одновременно практически невозможна.

Посоветуте где можно прикрутить чтобы повысить производительность.

Конфиг взял стандартный:

[mysqld]
basedir=C:/Program Files/MySQL/MySQL Server 4.1/
datadir=D:/MySQL Datafiles/data/
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 16M
thread_concurrency = 2

Вот такая вот табличка.

CREATE TABLE `flows` (
`id` int(11) NOT NULL auto_increment,
`unix_secs` datetime default NULL,
`first` datetime default NULL,
`last` mediumint(9) default NULL,
`doctets` mediumint(9) default NULL,
`srcaddr` char(15) default NULL,
`dstaddr` char(15) default NULL,
`input` mediumint(9) default NULL,
`output` mediumint(9) default NULL,
`srcport` mediumint(9) default NULL,
`dstport` mediumint(9) default NULL,
`prot` mediumint(9) default NULL,
`srcnum` bigint(20) default NULL,
`dstnum` bigint(20) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `unix_secs` (`unix_secs`),
KEY `first` (`first`),
KEY `srcaddr` (`srcaddr`),
KEY `dstaddr` (`dstaddr`),
KEY `dstport` (`dstport`),
KEY `srcnum` (`srcnum`),
KEY `dstnum` (`dstnum`)
) ENGINE=MyISAM DEFAULT CHARSET=koi8r DELAY_KEY_WRITE=1;

Зарание благодарен за дельные советы.
...
Рейтинг: 0 / 0
Оптимизация для хранения flows
    #33050178
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Памяти ему поболей отдай... Раза в три... Её ж у тя ещё гиг остаётся....
Вторая задачка-то какая на полтора гига памяти?
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Оптимизация для хранения flows
    #33050193
user78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lissyaraПамяти ему поболей отдай... Раза в три... Её ж у тя ещё гиг остаётся....
Вторая задачка-то какая на полтора гига памяти?
Posted via ActualForum NNTP Server 1.1
А что конкретно лучше повышать, какую память под процесс или кеш ?

Вторая задачка по большому счету просто большие массивы в памти держит
и изредка данные отдает, можно не учитывать, кроме нагрузки на ОЗУ других
там нет.
...
Рейтинг: 0 / 0
Оптимизация для хранения flows
    #33050354
swop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

вот что есть у меня

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE [dbo].[accounting] (
	[source_id] [smallint] NULL ,
	[datetime] [smalldatetime] NULL ,
	[doctets] [decimal]( 19 ,  4 ) NULL ,
	[src_oct_0] [smallint] NULL ,
	[src_oct_1] [smallint] NULL ,
	[src_oct_2] [smallint] NULL ,
	[src_oct_3] [smallint] NULL ,
	[dst_oct_0] [smallint] NULL ,
	[dst_oct_1] [smallint] NULL ,
	[dst_oct_2] [smallint] NULL ,
	[dst_oct_3] [smallint] NULL ,
	[id_ifin_index] [smallint] NULL ,
	[id_ifou_index] [smallint] NULL ,
	[src_port] [int] NULL ,
	[dst_port] [int] NULL 
) ON [PRIMARY]

хранить src_ip, dst_ip в текстовом виде просто накладно. Если у меня на хранение src - dst уходит 8 байтов, то у вас примерно 30 (max), можете подсчитать сколько места вы смогли бы сэкономить.

Советую также агрегировать данные до 1 дня, если вам конечно не требуется детальная статистика.....
...
Рейтинг: 0 / 0
Оптимизация для хранения flows
    #33050745
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данные можно разбивать по табличкам. Скажем, по неделе на табличку.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно ц
...
Рейтинг: 0 / 0
Оптимизация для хранения flows
    #33050774
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня, кстсти, бьются по месяцам. Но - данных конечно на несколько порядков меньше, хоть и каждую минуту данные пишутся....
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оптимизация для хранения flows
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]