@MongoDBRussian

Страница 81 из 342
Mikhail
23.04.2017
14:04:02
как можно запустить монгу с параметрами с помощью pm2?

pm2 start mongod --port 27018 --dbpath data/db --name mongodb так не получается

Google
Mikhail
23.04.2017
14:04:03
pm2 start mongod так получается, но нужно с параметрами

yopp
23.04.2017
14:09:47
pm2 <cmd> <name> -- <args>

pm2 start mongod -- --port 27018 --dbpath data/db --name mongodb

Mikhail
23.04.2017
14:11:02
Да, уже разобрался, спасибо, однако это несколкьо непредсказуемо, что перед параметром для скрипта нужно писать дополнительно --. В гугле не нашел.

yopp
23.04.2017
14:11:11
это стандарт

Mikhail
23.04.2017
14:11:16
Окей :)

yopp
23.04.2017
14:11:18
вполне себе предсказуемый

Denis
23.04.2017
20:05:12
defaults? в монге?
default имел ввиду. Ну т.е когда пишешь field: {type: Date, default: Date.now) Как я понимаю туда можно передавать любую функцию

yopp
23.04.2017
20:05:25
это не фича монги

это фича драйвера. все вопросы к драйверу

в монге нет схем, напоминаю

я перестал понимать что они нахуевертили с авторизацией.

Google
Denis
23.04.2017
20:06:56
ну вот судя из документации mongoose можно только синхроно, но она какая-то очень маленькая, забыл указать что mongoose

yopp
23.04.2017
20:07:32
я тут поиграю в jonanc и скажу: ¯\_(ツ)_/¯, обращайтесь к авторам ;)

скорее всего туда надо замыкание какое передать. если ты хочешь чтоб у тебя в нескольких замыканиях была идентичная дата, то это скорее к js вопрос, а не к драйверу

но вообще я бы забил совершенно. разница там будет в пределах мс

я знаю очень мало кейсов где это может играть хоть какую-то роль

Denis
23.04.2017
20:11:21
ну вот тоже думаю всё же вторым путём это сделать, так чище будет, а первый вариант как раз подразумевал замыкание

yopp
23.04.2017
20:11:33
не знаю как там в ноде это принято, но в рубях я бы просто сделал один метод типа def current_<name>_time; @current_<name>_time ||= Date.now.utc;end;

и из замыкания бы его дёргал

Denis
23.04.2017
20:12:08
в жс любая ф-ция это замыкание

yopp
23.04.2017
20:12:19
ты не понял идеи

думаю что на протипной поеботе это вообще решается как-то элементарно типа object['foobar'] ||= Date.now

но идея в том, чтоб сделать у объекта метод/переменную, которая устанавливается один раз

lazily

Denis
23.04.2017
20:18:54
хм, писал телегу, пока писал въехал

да

с ejdb кстати кто-нибудь работал? nw.js просто предлагает его как вариант для локал стораджа

но надо будет ебаться со сборкой под платформы

интересно просто стоит ли оно того или можно взять какой-нибудь PouchDB который будет как бы на 'фронте'

вообще если кто знает какие удобные NoSQL обертки для фронта, буду рад услышать

yopp
23.04.2017
21:28:57
не очень понятно какую проблему ты пытаешься решить

Google
Denis
23.04.2017
23:07:13
Просто проект состоит из вебморды и nw.js обертки с оффлайн фичами. Веб это mean stack, а проблема стоит в выборе хранилища для nw.js которое ему нужно для оффлайн работы. Удобно было бы что-то на подобии монги

Oleg ?
24.04.2017
09:49:30
ребят всем привет

подскажите я правильно понимаю, что жто не оч круто

db.currentOp()

"desc" : "rsSync", "threadId" : "140500350007040", "active" : true, "opid" : 7, "secs_running" : -1404615, "microsecs_running" : NumberLong("11480286677028"), "op" : "none", "ns" : "local.oplog.rs",

"secs_running" : -1404615

это жопэ получается?

это реплика сет и это примари

yopp
24.04.2017
09:54:09
это жопэ получается?
вполне мог overflow у счётчика случится %)

на самом деле посмотри в rs.status()

если нет лага, то всё норм

монга какой версии?

Oleg ?
24.04.2017
09:55:51
просто у меня мониторинг постоянно жалуется что на серваке цпу ядрышки жрутся. там только эта монга примари. вот и птыаюсь понять мониторинг пздит или монга реал грузит. монга 3.2.4

вроде статус впорядке

примари секондари арбитр

Oleg ?
24.04.2017
10:53:46
ну монго жрет канеш. но у меня 4 ядра, Load_avg 1m < 1.5

считаю норм для 4 ядер

yopp
24.04.2017
10:55:11
ну тогда поправь мониторинг чтоб он тоже так считал

а вообще надо на iowait смотреть. и на io в целом

Google
Oleg ?
24.04.2017
10:56:00
ну у меня в том то и дело что графит видит как будето по одному ядру загружается переодически типа [BEACON] CRITICAL <CPU LOAD IS TOO HIGH> server_prod.cpu-0.cpu-user failed. Current value: 95.3% [BEACON] CRITICAL <CPU LOAD IS TOO HIGH> server_prod.cpu-2.cpu-user failed. Current value: 93.7%

io да печален

yopp
24.04.2017
10:58:31
ну если io печален, значит пришло время изучить что тупит

скорее всего индексов нет, а если есть — они неэффективные или в память не влазят

Могу посмотреть (не раньше следующей недели). 120€/hr, контракт, все дела.

Oleg ?
24.04.2017
11:00:54
))) понял спасибо

)

yopp
24.04.2017
11:01:37
можешь сам попробовать разобраться. https://github.com/y8/mongo_collection_exporter

прикрутить к прометею и смотреть на коллекции

Oleg ?
24.04.2017
11:03:59
а у меня не sharded

оно будет работать?

yopp
24.04.2017
11:42:03
да

просто реплики в shards воткни и всё

я арбитрами не пробовал, может что-то сломаться

если сломается — заведи ишшуй

Oleg ?
24.04.2017
12:07:34
))) окай

yopp
24.04.2017
12:10:57
вместа арбитра лучше воткнуть скрытую реплику для бекапов. она тоже голосует если что

Latest: 3.4.4 (Apr 21, 2017), Stable: 3.2.12 (Feb 1, 2017) 3.4.4: https://docs.mongodb.com/manual/release-notes/3.4/#apr-21-2017 3.2.12: https://docs.mongodb.com/manual/release-notes/3.2/#feb-1-2017 Пришло время обновлятся до 3.4.1+: https://aphyr.com/posts/338-jepsen-mongodb-3-4-0-rc3

С выходом новой версии монги, как лучше поступать Прикрепить новое сообщение и отправить уведомление – 7 ??????? 64% Прикрепить новое сообщение и не отправлять уведомление – 4 ???? 36% ? 11 people voted so far.

Alexey
26.04.2017
11:47:56
привет всем а расскажите про правильный выбор ключа шардирования. Вот скажем, если у меня ключ по date или по _id, который постоянно возрастает, то звпись всегда будет идти на один и тот же шард?

Google
yopp
26.04.2017
11:54:54
да

Alexey
26.04.2017
11:54:55
к примеру, есть в базе id клиента, который что-то добавляет в базу, есть date, есть _id Правильно ли я понимаю, что в случае client_id чанки будут создаваться на том шарде, где находится этот чанк с совпадающим ID, а если по полю возрастающей date, то всегда на одном?

yopp
26.04.2017
11:56:10
чанки не «создаются»

они делятся

у тебя есть первый чанк {MinKey, MaxKey}

он будет на primary shard

дальше когда он начнёт расти, он будет делится на более мелкие

после чего балансер будет их растаскивать по другим шардам

если у тебя ключ всегда близок к MaxKey, то вероятнее всего у тебя всё это будет происходить на одном и том-же шарде

что не имеет никакого смысла в среднем

более того, под большой нагрузкой чанк может и не поделится

и будешь ты сидеть с этим jumbo chunk, который никуда не может дется.

Alexey
26.04.2017
11:58:51
ок, то есть, в случае, условного client_id поделился чанк, уехал на другой шард. Запись следом за ним переместится? туда где есть данные с нужным client_id?

yopp
26.04.2017
11:59:18
блин, надо уже написать статью про то как шардинг устроен

Страница 81 из 342