Разные времена моноимпорта

У меня вопрос по поводу монгоимпорта. Вот моя конфигурация:

5 физических машин. 5 осколков, 3 конфига, 5 монго. 1 осколок и монго на машину, 3 (из 5) имеют конфиг.

У меня есть несколько сотен форматированных текстовых файлов JSON, на которых я использую mongoimport. Я выдаю по одному моноимпорте на каждую монгу (по 5 одновременно), пока каждый файл не будет импортирован. Я отслеживаю записи каждого импорта в секунду и использование процессора / памяти каждой машиной. Нет существенной разницы в процессоре / памяти каждой машины.

Однако скорость записи в секунду варьируется от 4 до 16 тыс. На процесс моноимпорта. Похоже, это не связано с размещением новых файлов данных в данном фрагменте. Однако, похоже, что это больше связано с самим импортируемым файлом (хотя каждый файл очень похож по схеме, единственное различие между файлами заключается в количестве записей, и описываемая мною проблема возникает в разных файлах #ofRecord). Например, если файл начинает импортироваться со скоростью 10 кбит / с, кажется, что он будет продолжаться с такой скоростью в течение всего процесса импорта, если он начинается с 4 кбит, он это сделает.

Есть мысли о том, почему это происходит? Как я могу это исправить?

1 ответ

Первый вопрос, вы можете запустить mongostat и iostat во время процесса импорта на каждой машине?

Когда вы делаете импорт, вы, вероятно, облагаете налогом ввод-вывод, поэтому мы хотим увидеть некоторые номера ввода-вывода.

Второй вопрос, владеете ли вы этими машинами или они "арендованы" (виртуальные машины, облачные хранилища?)

Если вы используете виртуальные машины, возможно, вы не получаете согласованный ввод-вывод. Отвечая на первый вопрос, вы узнаете, связано ли это.

Другие вопросы по тегам