
Alex
23.06.2017
18:11:41

yopp
23.06.2017
18:12:19
М?

Anton
23.06.2017
19:31:25
Здрасьте. Вопрос по mongoose: с другой sql orm было так: брался коннект из пула, использовался для всех операций для данного http запроса, а в конце запроса возвращался обратно. Насколько это правильно в целом и в контексте mongodb? и как такое сделать, используя mongoose?

Dmitrii
23.06.2017
19:52:51
монга сама разруливает пул и коннекты

Google

yopp
23.06.2017
21:40:22
монга сама разруливает пул и коннекты
Монга ничего не разруливает. Но в отличии от RDBM ей не требуется хранить «представление» соединения, как следствие монга может держать много соединений с минимальным оверхедом.

Anton
23.06.2017
21:44:18

yopp
23.06.2017
21:45:14
Это к нодовцам лучше адресовать

Denis
24.06.2017
07:31:01
А смысл в привязке? Монгус сам разруливает это дело

Sergey
24.06.2017
13:53:19
как проверить, работает сжатие или нет?
db.runCommand({getCmdLineOpts: 1}) показывает, что опция включена, но хотелось бы посмотреть на какую-нибудь статистику
https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-networkmessagecompressors

yopp
24.06.2017
13:56:23
Драйвера пока сжатие не поддерживают и до 3.6 судя по всему не будут
AFAIK, сейчас эта опция пока влияет только на трафик между нодами

Tenni
24.06.2017
13:57:12
а толку от компрессии?
ноды рядом, смысл, только cpu будет кушать лишнее.

yopp
24.06.2017
13:57:50
Весь wire protocol на голом bson построен

Google

Tenni
24.06.2017
13:58:24
ну тут не поспорить, хм, а я ссылку открыл и не уловил суть разговора видимо.

yopp
24.06.2017
13:59:00
А про cpu это бабка надое сказала. Snappy на фоне всего остального не заметен

Tenni
24.06.2017
13:59:50
ну сеть-то асинхронно написана 100%, на саму монгу не повлияет, а вот cpu гроши, но считать будет

yopp
24.06.2017
14:00:09
Между нодами куча трафика. Например если большой поток оплога, сжатие может увеличить пропускную способность. Гигабит оплога не так сложно в пике получить
Плюс initial sync

Tenni
24.06.2017
14:00:45
у нас было такое несколько раз, кстати =)
вполне разумно, что-то не учел этот момент.

yopp
24.06.2017
14:02:01
Но я если честно ещё не проверял эффект. Мы у одного клиента включили, но я цифры не сравнивал

Tenni
24.06.2017
14:02:15
скинь потом, интересно
если не жалко =)

Sergey
24.06.2017
14:24:50

yopp
24.06.2017
14:26:11
Смотреть на трафик процесса и на метрики из монги

Sergey
24.06.2017
14:27:54

yopp
24.06.2017
14:28:35
Открой доку по serverStatus и там поищи network
Но не факт что оно туда пишет реальный трафик из сокета. ;)
В 3.4 в какой-то из версий вообще не всегда ingress правильно репортрлся
Идёт миграция чанков, а только исходящий на графиках. Данные уходят вникуда!

Sergey
24.06.2017
14:40:15
:) ок, поищу, спасибо
в документации таких полей пока нет
{
"bytesIn",
"bytesOut",
"physicalBytesIn",
"physicalBytesOut",
"numRequests",
"compression": {
"snappy": {
"compressed": { "bytesIn", "bytesOut" },
"decompressed" : { "bytesIn", "bytesOut" }
}
}
}

yopp
24.06.2017
15:58:01
Во. Первые два ключа

Google

yopp
24.06.2017
15:58:27
Судя по всему они метрику добавили. Можно из монги посчитать сжатие

Natalia
26.06.2017
08:17:35
Ребят, а сколько можно на одном инстансе объем максимальный держать? :)

yopp
26.06.2017
10:18:13
Пожалуйста, срачи про SQL разводите на тематических каналах

Alexander
26.06.2017
10:37:24
Привет. Коллеги, подскажие по такому вопросу - как правильно коннектить nodejs приложение к mongodb?
это же обязательно должно быть соедиение c user:password ?

yopp
26.06.2017
10:38:16

Alexander
26.06.2017
10:38:37
туториалов тонны одноообразных. а по сути нигде не разложено по полкам

yopp
26.06.2017
10:39:35

Alexander
26.06.2017
10:41:05
то есть сама нода приложение, независимо от пользователя, должна коннектится по юзеру и паролю правильно?
ребята, извиняюсь , я дико туплю
например, в вордпресс настраивалось соединение вот так:
/* MySQL settings */
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
и больше эти данные нигде не использовались. потом создавался админ со своим логином, паролем, и он уже администрировал все данные
в монго такой же принцип?

yopp
26.06.2017
11:09:41

Alexander
26.06.2017
11:11:17
mongoose пойдёт?

Mikhail
26.06.2017
11:56:56

Alexander
26.06.2017
11:57:21
ааа
ну вот это и хотел уточнить
а в нужных данных должен быть пользователь из базы admin? с "role" : "userAdminAnyDatabase" ?
верно?

Mikhail
26.06.2017
12:12:55
верно?
Если в настройки по дефолту, то можно так:
const db = new Db('PlantsBot', new Server('localhost', 27017));
Но лучше покрутить настрйки

Alexander
26.06.2017
12:14:21
ну это открытая для всех база получается

Google

Alexander
26.06.2017
12:15:26
db: 'mongodb://admin:passw@localhost/marketdb',
только непонятно, какие права и роль должны быть у этого пользователя

Igor
26.06.2017
12:16:55

Alexander
26.06.2017
12:20:15
конечно, понятно, что если адрес базы будет https://mongolab:blabla/blalbla - сложно будет его узнать.
правильно понимаю, что при коннекте к монго, нужно использовать юзера с такой ролью?
{
user: "superAdmin",
pwd: "admin123",
roles: [ { role: "root", db: "admin" } ]
такое ощущение что большинство тупо под копирку юзает туториалы

Tenni
26.06.2017
13:16:41
рут это рут
почитай про роли на доке есть
на базу данных рута не нужно, поставь что ему нужно, read/write, может какие-то команды нужны.

Alexander
26.06.2017
13:23:19
если правильно понимаю, пишут что нужен пользователь с
With access control enabled, ensure you have a user with userAdmin or userAdminAnyDatabase role in the admin database
надо по другому вопрос задать, на продакшене кто-нить из этого чата юзает mongodb ?)

Timur
27.06.2017
11:30:46
Когда триал в Cloud Manager заканчивается, они закрывают доступ? Или к каким-то фичам остается доступ?
Вопрос отпал:

Ilya
29.06.2017
08:21:57
Привет!
С чего начать оптимизацию производительности монги? Есть какой то туториал или мысли) ?
Типо такого:
1) Индексы
2) План запроса
.
.
.
20) Сервер помощнее

GNU/Docker
29.06.2017
08:28:26
0) Определиться какие запросы надо оптимизировать
00))0)

Viktor
29.06.2017
08:32:39
+

Roman
29.06.2017
08:35:34
Кстати, монговский профайлер умеет считать траффик по запросам?