@MongoDBRussian

Страница 32 из 342
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
bson кодер в pymongo сишный и достаточно шустрый
Самый быстрый из тех, что есть в Питоне. Я проверял 4 разных

Но это все равно жутко медленно

Sergey
19.10.2016
10:56:24
Roman
19.10.2016
11:00:12
Для каких задач?
Да тот же gridfs

Sergey
19.10.2016
11:00:41
с gridfs не работал

хотя, идея писать в базу блобы сама по себе не очень хорошая

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

Sergey
19.10.2016
11:05:33
На af_unix? :))
у вас и база и фронты на одном хосте что ли?

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
Это медленно, в смысле медленно. Очень большая часть запроса/ответа уходит на протокол.
ну python никогда не был эталоном скорости, но какие варианты? писать на C?

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
ну python никогда не был эталоном скорости, но какие варианты? писать на C?
Ну, есть pypy. Но если формат дурацкий, то даже сишечка не спасет

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

Serge
19.10.2016
11:13:25
Ну, есть pypy. Но если формат дурацкий, то даже сишечка не спасет
Спасет, потому что в ней сразу правильные структуры

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

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

Roman
19.10.2016
11:14:54
Спасет, потому что в ней сразу правильные структуры
Например? Я на pypy бенчил питоновский struct. Вообщем, на си получилось всего в 2 раза быстрее

Sergey
19.10.2016
11:14:59
Я общаюсь с монгой через сокет.
с mongos или именно с базой?

Например? Я на pypy бенчил питоновский struct. Вообщем, на си получилось всего в 2 раза быстрее
у pypy свои недостатки, например, он до сих пор только 3.2 умеет

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 сообщение адресованное конкретному подписчику, в этом случае проблем быть не должно

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

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