Хорошо, у меня есть приложение, работающее на Node.js в той же настольной системе, в которой работает моя служба mongo. У меня есть определенный запрос, который занимает около 20 секунд, вся эта система взаимодействует с телефонным приложением, поэтому 20 секунд - это слишком медленно. Я читал кластеры баз данных с mongodb, скопление горных пород и Arch Linux с открытым MPI Прежде чем я начну какой-либо путь, может ли кто-нибудь получить какие-либо данные о том, какое из этих решений на самом деле приведет к сокращению времени вычислений для моего приложения Node.js, которое я использую как служба, и поиска mongodb? Есть ли комбинации, которые повлияют на оба? Мне нужно реализовать нечто большее, чем просто решение? Если бы я собирался купить оборудование для работы в качестве узлов в любом решении, могу ли я сделать это на таких устройствах, как этот и по-прежнему видите прирост производительности? Насколько мощными / дорогими должны быть эти клиенты / узлы, чтобы действительно повысить производительность? Или мне нужно получить 9иш виртуальных частных серверов? Любое направление будет оценено, спасибо.
Хорошо, позвольте мне подробнее остановиться на этом. У меня есть концептуальное доказательство того, что я собираюсь перейти к производству, прямо сейчас он находится на моем рабочем столе, я знаю, что он не может оставаться там, поэтому я смотрел, какие решения существуют, это мой первый раз.
Вкратце, это служба индексирования, которая возвращает данные в зависимости от выбора пользователя. Данные, о которых идет речь, хранятся в коллекции, система начинает с прогона по коллекции, сбора поля и представления этого содержимого в виде набора вариантов для пользователя. Пользователь может выбрать некоторые из них или ни одного из них. Затем система просматривает ту же коллекцию и проверяет, соответствует ли какой-либо из этих вариантов тому, что искал пользователь (если они ничего не выбрали, она захватывает все), если да, то выбирает другой набор значений для представления пользователю пользователь. Система продолжает работать в этом режиме до тех пор, пока у нее не будет достаточно данных, чтобы предоставить пользователю конечные данные, которые он искал. Прохождение коллекции по третьему критерию занимает около 30 секунд, но это потому, что на сегодняшний день насчитывается 1807 уникальных критериев и 779 членов коллекции оцениваются. Этот большой подъем 1807 года и возвращение - вот что вызвало этот пост и заставило меня предположить, что я не могу продолжить тестирование с моим текущим оборудованием / настройками и что мне нужно подумать о переходе в производственную среду.
Я думаю, что настройка хэша / шарда / кластера mongodb может сработать для меня, я просто не знаю этого, потому что я никогда этого не делал. Я просто хотел узнать, есть ли на этом сайте кто-нибудь, кто перевел услугу с разработки на производство и был готов поделиться тем, что они сделали с точки зрения оборудования, чтобы сделать это.
Кластеризация в опции (open-mpi больше для передачи сообщений на уровне процессора). Однако перед этим нужно определить, где находится горлышко бутылки. Какие запросы выполняются? Можете ли вы провести сравнительный анализ или тесты в производственной системе? Можете ли вы настроить тестовую систему для настройки параметров базы данных? Вы ограничены в зависимости от мощности оборудования? Может вам нужно больше памяти, SSD? Опять же, все это зависит от запросов. Также ознакомьтесь с общими рекомендациями по производительности для службы Mongo.