Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 17, 2012 22:22:45

Bdfy1
От:
Зарегистрирован: 2009-11-03
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

pymongo и mongodb

Есть связка из 2-х серверов. Простая схема выглядит след образом:

на 1 сервере стоит tail -f лог файла. Этот tail обрабатывается python скриптом который коннектится через pymongo на mongodb установленную на другом сервере. Соотв в capped коллекцию mongodb пишется кусок логов который переодически анализируется. Проблема возник след: при определенном повышении нагрузки данные в БД начинают попадать с опозданием ( или вообще часть теряется - нельзя с первого взгляда увидеть ) на несколько минут в связи с чем анализотор логов ломается ( я не могу отследить насколько данные опаздывают в БД ). Между серверами стоит 1гб сеть, в mongostat появляются строки вида:

2494 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 15.3 0 1|2 1|2 1m 1k 8 23:20:20
2123 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 13.2 0 0|2 1|2 944k 1k 8 23:20:21
2032 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 12.3 0 0|0 1|0 888k 1k 8 23:20:22
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
2858 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 17.5 0 0|0 1|0 1m 1k 8 23:20:23
1877 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 11.4 0 0|2 1|2 834k 1k 8 23:20:24
2556 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 15.2 0 0|0 1|0 1m 1k 8 23:20:25
2132 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 12.9 0 0|2 1|2 938k 1k 8 23:20:26
2118 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 11.6 0 0|2 1|2 928k 1k 8 23:20:27
2527 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 14.1 0 0|0 1|0 1m 1k 8 23:20:28
2114 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 12.3 0 0|0 1|1 931k 1k 8 23:20:29
289 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 1.6 0 0|2 1|2 123k 1k 8 23:20:30
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 0|2 1|2 62b 1k 8 23:20:31
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 0|2 1|2 62b 1k 8 23:20:32
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:33
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:34
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:35
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:36
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:37
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:38
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:39
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:40
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:41
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:42
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:43
0 0 0 0 0 1 0 5.2g 6.68g 3.06g 0 0 0 1|2 1|2 62b 1k 8 23:20:44

те такое ощущение что данные попадают с перерывами. где искать причину замедления работы с БД ? ( сеть, драйвеп pymongo или mongodb ) ?\



Отредактировано Bdfy1 (Апрель 17, 2012 22:24:21)

Офлайн

#2 Апрель 19, 2012 08:56:06

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

pymongo и mongodb

Я думаю начать надо с этого:
> анализотор логов ломается

какие ошибки выдает?
какую делает нагрузку на процессор (%)?
каким запросом добавляете в mongo?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version