
James
19.10.2016
09:07:58
я только в конфиге поменял движок
который в etc

Sergey
19.10.2016
09:08:15
fork надо выключить

James
19.10.2016
09:08:19
подскажи как

Google

Sergey
19.10.2016
09:08:31
Тебе в соседнем чате ссылку дали

James
19.10.2016
09:08:38
сек

Sergey
19.10.2016
09:09:37
http://askubuntu.com/questions/787136/debugging-systemd-for-mongodb-3-2-on-ubuntu-16-04-sig-15-killing ?

James
19.10.2016
09:11:41
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod —quiet —config /etc/mongodb.conf
[Install]
WantedBy=multi-user.target
нету у меня там форка

yopp
19.10.2016
09:13:32
/etc/mongodb.conf
там fork
читай доку
либо mongod --help
вроде можно аргументом форк выключить

James
19.10.2016
09:14:38
блять зачем так сложно то

yopp
19.10.2016
09:15:01
а ты откуда монгу ставил?

James
19.10.2016
09:15:11
с реп

Google

Sergey
19.10.2016
09:15:16
С каких?

James
19.10.2016
09:15:24
добавил офф монги

yopp
19.10.2016
09:16:20
16 убунта в 3.2 поддерживается
проверь что у тебя там xenial/mongodb-org/3.2 multiverse

James
19.10.2016
09:16:48
processManagement.fork should be false (which is also the default) in your mongod.conf file.

yopp
19.10.2016
09:16:52
а не trusty/precise

James
19.10.2016
09:16:53
но у меня в конфиге нет такого

yopp
19.10.2016
09:17:26
можешь ещё попробовать руками сначала запустить
просто mongod и всё

James
19.10.2016
09:17:40
типа mongod —config /etc/mongodb.conf ?

yopp
19.10.2016
09:17:48
ну можно ещё конфиг указать, да
но если оно из пакетов, оно сконфигурировано с дефолтным конфигом в /etc
если оно пидорнётся, значит в монге проблема
если нет, в этом вашем systemd
но если 16 убунта заявлена как поддерживаемая, они должны были конфиги по-умолчанию поставлять уже заточенные под systemd

James
19.10.2016
09:19:16
mongod —config /etc/mongodb.conf
Error parsing YAML config file: yaml-cpp: error at line 8, column 9: illegal map value
там у меня
#where to log
logpath=/var/log/mongodb/mongodb.log
engine: mmapv1
logappend=true

yopp
19.10.2016
09:26:44
ты определись
либо у тебя yaml

Google

yopp
19.10.2016
09:26:55
либо у тебя старый key=value формат
у тебя щас говно а не конфиг

James
19.10.2016
09:27:21
смотри я просто раскоментил строки в конфиге

yopp
19.10.2016
09:27:55
я не знаю что ты где раскоментил, но у тебя сейчас там и yaml и k=v
и оно ругается что оно не может распарсить лог
открой доку и конвертни конфиг в yaml
и запусти снова

James
19.10.2016
09:29:23
ок спс ща гляну
mongod —config /etc/mongodb.conf
запускается
а если через инит скрипт нет
была ошибка в конфиге
поправил
руками запускатеся
почему не запускается инитскриптом или через сервис ?

Serge
19.10.2016
10:07:47
права на файл? selinux? apparmor? что в логах?

Roman
19.10.2016
10:37:58
@lig11 а у гошного драйвера монги нет такой беды со скоростью как у питона?

Serge
19.10.2016
10:41:43
не проверял, но подозреваю, что не должно быть настолько, но тоже будет оверхэд.
потому что маршалят в bson драйверы

Roman
19.10.2016
10:45:15
Я вообще думаю заменить монгу на тарантул :)

Sergey
19.10.2016
10:53:00
bson кодер в pymongo сишный и достаточно шустрый

Google

Serge
19.10.2016
10:55:10
Но это все равно жутко медленно

Sergey
19.10.2016
10:56:24

Roman
19.10.2016
11:00:12

Sergey
19.10.2016
11:00:41
с gridfs не работал
хотя, идея писать в базу блобы сама по себе не очень хорошая
на мелких данных все больше в сеть упирается

Roman
19.10.2016
11:04:14

Sergey
19.10.2016
11:05:33

Roman
19.10.2016
11:07:42
А что такого? :)

Sergey
19.10.2016
11:10:10
да просто зачеи тогда вообще монга, если не нужно ни реплик, ни шардинга

Serge
19.10.2016
11:10:49
Для каких задач?
Это медленно, в смысле медленно. Очень большая часть запроса/ответа уходит на протокол.

Sergey
19.10.2016
11:11:35

Serge
19.10.2016
11:12:03
Ну а что?:)

Roman
19.10.2016
11:12:07

Sergey
19.10.2016
11:12:33
Ну а что?:)
пока вы пишете, конкуренты уже запустят проект и он умрет своей смертю =)

Roman
19.10.2016
11:12:44

Sergey
19.10.2016
11:12:52

Roman
19.10.2016
11:13:24
Я общаюсь с монгой через сокет.

Serge
19.10.2016
11:13:25

Google

Roman
19.10.2016
11:13:34
Я ее понимаю вопроса

Serge
19.10.2016
11:14:08
Ну померяй сколько ты времени на bson тратишь

Roman
19.10.2016
11:14:54

Sergey
19.10.2016
11:14:59

James
19.10.2016
11:16:12
ребят разобрался с монгой, дело было в системд
у меня 2 вопроса почему нет инит скрипта для 3.2
и почему нет комманды service mongod restart

Sergey
19.10.2016
11:16:42

James
19.10.2016
11:17:20
тоесть терь все манипуляции с стартом и рестартом только через него?

Sergey
19.10.2016
11:17:42
там есть пачка костылей, но все в конечном итоге дергает systemctl
через него же завернуты и legacy init-скрипты, причем порой криво

Stanislav
19.10.2016
11:37:01
Можно ли из монги сделать очередь с exactly-once доставкой, которая будет держать хотя бы 5к рпс на одной машинке?
1) Я пробовал findAndModify, но он медленный очень.
2) Я еще пробовал вот так:
while (true) {
db.queue.update( {"status": "new"}, {"status": "pending_on_<consumer_id>"} ) //уникальность consumer_id гарантируется самими потребителями
def messages = db.find( {"status": "pending_on_<consumer_id>"} )
doWork(messages)
db.update( {$in: messages.*_id}, {"status": "done"} )
}
но с этим подходом проблема в том, что в update нет limit'а. И получается, что каждый потребитель забирает себе тупо все сообщения и будет их должго обрабатывать, вместо того, чтобы расперделитьь эти сообщения на всех потребителей
есть идеи?


Alex
19.10.2016
19:18:06
Можно ли из монги сделать очередь с exactly-once доставкой, которая будет держать хотя бы 5к рпс на одной машинке?
1) Я пробовал findAndModify, но он медленный очень.
2) Я еще пробовал вот так:
while (true) {
db.queue.update( {"status": "new"}, {"status": "pending_on_<consumer_id>"} ) //уникальность consumer_id гарантируется самими потребителями
def messages = db.find( {"status": "pending_on_<consumer_id>"} )
doWork(messages)
db.update( {$in: messages.*_id}, {"status": "done"} )
}
но с этим подходом проблема в том, что в update нет limit'а. И получается, что каждый потребитель забирает себе тупо все сообщения и будет их должго обрабатывать, вместо того, чтобы расперделитьь эти сообщения на всех потребителей
есть идеи?
Не уверен что точно подразумевается под exactly-once, но у нас на findAndModify решена задача, когда из кучи документов нужно по определенным критериям сортировки воркер забирает себе (update) 1 документ. Машины разные бывают,у нас штатно 1000-1500 rps. Просто с fAM нужно тщательно индексы подготовить, посмотреть, чтобы он их использовал.
(м, немного несогласованное предложение, сорри, болею)


yopp
19.10.2016
20:02:39
но если роутинг на уровне приложения обеспечен, то почему бы и нет
тоесть мы кидаем в capped сообщение адресованное конкретному подписчику, в этом случае проблем быть не должно


Serge
19.10.2016
20:33:38

Stanislav
20.10.2016
03:33:54

lamo2k
20.10.2016
06:27:49
Ребята может кто объяснить для чего view в монгу завезли?