
Alex
27.07.2016
08:52:31
сто лямов документов? не так уж много.

yopp
27.07.2016
08:52:50
ну смотря какого размера
если по мегабайту, то очень много :)
или если по 10кб, но с тремя десятками индексов

Google

Alex
27.07.2016
08:53:49
это и был намек =)

Roman
27.07.2016
09:08:29

yopp
27.07.2016
09:09:07
100Тб это много

Sergey
27.07.2016
09:09:48

Daniel
27.07.2016
09:10:33
100Т данных - это по любому много

yopp
27.07.2016
09:16:46
тут я смотрю у всех петабайтные монгокластеры


Alex
30.07.2016
18:28:41
Баз на 60 гигов, мастер. После ненормального шутдауна зпускалась _12 минут_, ппц =(
Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] Detected unclean shutdown - /var/db/mongo2/mongod.lock is not empty.
Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] Recovering data from the last clean checkpoint.
Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] wiredtiger_open config: create,cache_size=18G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(en
abled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
Jul 30 21:25:27 conveyor mongod.37017[16636]: [initandlisten] Starting WiredTigerRecordStoreThread local.oplog.rs
Jul 30 21:25:27 conveyor mongod.37017[16636]: [initandlisten] The size storer reports that the oplog contains 59804846 records totaling to 30178412526 bytes


Roman
30.07.2016
18:56:53
Ну так рекавери жи.

Alex
30.07.2016
20:23:28
12 минут?
Рекавери должен быть мгновенным - там журнал включен

[Anonymous]
30.07.2016
20:27:02
Я где-то месяц назад восстанавливал минут 15 базу на 400 GB.
С журналом.
Так что вроде бы ничего необычного.

Google

Alex
30.07.2016
20:32:31
Так вот странно. По идее размер бд не должен влиять на время, если есть журнал.
Какого лешего она столько времени делает-то?
Проверить на корректность достаточно последние записи в журнале. И всё, погнали, чего еще делать?

yopp
30.07.2016
20:52:36
Оно вроде весь оплог переливает снова
При recovery
Если оплога было много, займёт много времени

Alex
30.07.2016
20:55:16
М.. куда переливает?

yopp
30.07.2016
20:57:32
там два варианта: когда ты в репликасете и нет
помоему в репликасете в зависимости от условий, оно или делает initial synс или делает роллбек и проигрывает оплог снова
я не уверен

Alex
30.07.2016
21:02:22
не не, это не тот вариант
когда роллбек или догонялки - он пишет об этом в rs.status()
а я следил, в эти 12 минут репликасет вообще считал хост мертвым
{
"_id" : 4,
"name" : ".......:37017",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2016-07-30T18:23:21.635Z"),
"lastHeartbeatRecv" : ISODate("2016-07-30T17:50:26.748Z"),
"pingMs" : NumberLong(1467),
"lastHeartbeatMessage" : "Connection refused",
"configVersion" : -1
}
вот

yopp
30.07.2016
21:06:44
Rewrites and defragments all data and indexes in a collection.
repairDatabase который —repair это и есть compact

Alex
30.07.2016
21:11:58
Sorry, не уловил, откуда что взялось. repair сам не может запускаться. На более-менее приличной базе этот процесс может занимать часы и сутки

[Anonymous]
30.07.2016
21:12:13
>сутки

Alex
30.07.2016
21:13:04
да

Google

Alex
30.07.2016
21:13:22
тем более, для этого процесса, если я правильно помню, нужно нное кол-во свободного места


Roman
30.07.2016
21:13:50
Баз на 60 гигов, мастер. После ненормального шутдауна зпускалась _12 минут_, ппц =(
Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] Detected unclean shutdown - /var/db/mongo2/mongod.lock is not empty.
Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] Recovering data from the last clean checkpoint.
Jul 30 21:13:38 conveyor mongod.37017[16636]: [initandlisten] wiredtiger_open config: create,cache_size=18G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(en
abled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
Jul 30 21:25:27 conveyor mongod.37017[16636]: [initandlisten] Starting WiredTigerRecordStoreThread local.oplog.rs
Jul 30 21:25:27 conveyor mongod.37017[16636]: [initandlisten] The size storer reports that the oplog contains 59804846 records totaling to 30178412526 bytes
Чего-то дохрена в оплоге, кстати. 30гб и 59 млн записей


Alex
30.07.2016
21:14:00
во всяком случае, в версии 2 была какая-то шляпа с этим репейром
insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn set repl time
*19 *0 *869 *8 0 22|0 3.9 78.3 0 17.4G 16.5G 0|0 0|0 1k 15k 179 default SEC 2016-07-31T00:15:38+03:00
*38 *0 *730 *18 0 12|0 4.1 78.4 0 17.4G 16.5G 0|0 0|0 897b 10k 177 default SEC 2016-07-31T00:15:42+03:00
*34 *0 *685 *18 0 52|0 4.4 78.4 0 17.4G 16.5G 0|1 0|0 4k 27k 182 default SEC 2016-07-31T00:15:46+03:00
*31 *0 *720 *16 0 17|0 4.5 78.4 0 17.4G 16.5G 0|0 0|0 1k 13k 181 default SEC 2016-07-31T00:15:50+03:00
*19 *0 *693 *11 0 12|0 4.5 78.3 0 17.4G 16.5G 0|0 0|0 803b 11k 181 default SEC 2016-07-31T00:15:54+03:00
600-800 апдейтов в сек - нормальный режим

[Anonymous]
30.07.2016
21:16:25
Сколько доков в базе?
У тебя.

Alex
30.07.2016
21:16:39
Там несколько баз

[Anonymous]
30.07.2016
21:16:44
А всего доков сколько?

Alex
30.07.2016
21:17:26
ну. так не помню. миллионов 10, где-то
хотя надо глянуть, ща

[Anonymous]
30.07.2016
21:17:47
Посмотри, пожалуйста, но если что, у меня вопрос только из любопытства.
Сравнить данные.
У меня вот самая большая нода на сто лямов - ест 30 GB оперативки (vsize & res).
Хотелось просто сравнить.

Alex
30.07.2016
21:18:17
15 млн где-то

[Anonymous]
30.07.2016
21:18:17
Чтобы понять.

Alex
30.07.2016
21:19:09
но очень активно обновляется только тысяч 100-300, остальное - архив

Google

[Anonymous]
30.07.2016
21:19:35
Да это working set, понятно.

Alex
30.07.2016
21:19:48
но, база которая очень активная - там много индексов

[Anonymous]
30.07.2016
21:20:00
Сколько?
Я вот уже неделю пытаюсь побороть проблему следующего характера - без перезагрузки базы время выполнения запросов растёт в геометрической прогрессии.
Приходится мучать базу перезагрузками несколько раз в день.

Alex
30.07.2016
21:21:32
хм, хотя даже как-то удивительно мало (по объему)... неужто, 3-шка жмет так хорошо
default:PRIMARY> db.stats()
{
"db" : "tasks",
"collections" : 4,
"objects" : 306741,
"avgObjSize" : 7491.015123508107,
"dataSize" : 2297801470,
"storageSize" : 1356922880,
"numExtents" : 0,
"indexes" : 36,
"indexSize" : 193695744,
"ok" : 1
}

[Anonymous]
30.07.2016
21:22:06
db.stats()
{
"db" : "bot",
"collections" : 6,
"objects" : 110309007,
"avgObjSize" : 431.35387809265654,
"dataSize" : 47582217958,
"storageSize" : 27080220672,
"numExtents" : 0,
"indexes" : 14,
"indexSize" : 4767297536,
"ok" : 1
}

Alex
30.07.2016
21:23:04
памяти нормально на сервере?

[Anonymous]
30.07.2016
21:23:16
Да, свободно процентов 50%.
Всего 64.
Если очень кратко о проблеме - есть цикл различных агрегаций, который выполняется каждые X минут на сервере. Последнюю неделю я перезапускаю MongoDB по 3-4 раза в день, потому что если этого не делать - время выполнения каждого цикла начинает расти в геометрической прогрессии. Обычно всё выполняется на 5 секунд (например), но потом происходит какой-то провал и тот же цикл выполняется за 15-20 секунд (иногда и в 5-10 раз дольше). Затем, если базу не перезагружать, то время выполнения растёт с каждым новым циклом. Почему перезагрузка базы лечит этот недуг - я пока не знаю.
Вот уже неделю пытаюсь разобраться.

Alex
30.07.2016
21:24:40
версия обновлена?

[Anonymous]
30.07.2016
21:24:47
Ну не 50% оперативки, но где-то рядом.
Как минимум не забита.

Serge
30.07.2016
21:24:52
Свапится может?

[Anonymous]
30.07.2016
21:24:55
Движок - WiredTiger.

Google

Alex
30.07.2016
21:25:46
sysctl vm.swappiness
покажи

Serge
30.07.2016
21:25:52
Ну вот на скриншоте больше полутора гигов свапа

[Anonymous]
30.07.2016
21:26:02
insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time
1006 *0 16 *0 0 55|0 0.2 81.7 0 40.1G 33.8G 0|0 1|0 15k 31k 688 2016-07-30T21:25:41Z
1125 *0 13 *0 0 34|0 0.2 80.8 0 40.1G 33.8G 0|0 1|0 13k 27k 688 2016-07-30T21:25:42Z
3441 *0 29 *0 0 35|0 0.2 80.7 0 40.1G 33.8G 0|0 1|0 30k 29k 688 2016-07-30T21:25:43Z
2830 *0 17 *0 0 37|0 0.2 80.3 0 40.1G 33.8G 0|0 1|0 15k 28k 688 2016-07-30T21:25:44Z
1388 *0 17 *0 0 27|0 0.2 80.2 0 40.1G 33.8G 0|0 1|0 13k 26k 688 2016-07-30T21:25:45Z
2033 *0 21 *0 0 45|0 0.2 80.2 0 40.1G 33.8G 0|0 1|0 19k 30k 688 2016-07-30T21:25:46Z

yopp
30.07.2016
21:26:07

[Anonymous]
30.07.2016
21:26:09
mongostat вроде бы самый обыкновенный.

Serge
30.07.2016
21:26:12

[Anonymous]
30.07.2016
21:26:14
Я уже неделю бьюсь.

Serge
30.07.2016
21:26:44
И памяти добавить:)

[Anonymous]
30.07.2016
21:26:52
Память есть же...

Serge
30.07.2016
21:26:57

[Anonymous]
30.07.2016
21:26:57
Свободная. Достаточного много ещё.

yopp
30.07.2016
21:26:58

[Anonymous]
30.07.2016
21:27:04
?

yopp
30.07.2016
21:27:08
пришлось на всех репликасетах переливать данные

Alex
30.07.2016
21:27:22
sysctl -w vm.swappiness=5
и понаблюдать

Serge
30.07.2016
21:27:29
Главное, что свапится

[Anonymous]
30.07.2016
21:27:34