Назад | Перейти на главную страницу

Ускорить mongodump + mongorestore

Я создал сценарий для копирования базы данных MongoDB на свой компьютер. Я создаю SSH-туннель (ssh -L ...) затем я подключаюсь к туннельному порту с помощью mongodump затем я передаю его вывод в mongorestore:

mongodump --host=127.0.0.1:##### --db=***** --archive | mongorestore --host={mongo_dest} --drop --archive

Хотелось бы ускорить копирование. --gzip не имеет смысла использовать в этом случае - потому что одна и та же машина и память используются mongodump и mongorestore. Данные поступают в несжатом виде через сокет SSH.

Есть ли способ убежать mongodump на машине SSHed и передать его вывод процессу на моей машине?

Конечно, я мог сбросить базу данных, заархивировать, скопировать через SSH и восстановить ее. Но я не хочу занимать временное пространство.

Не знаю, почему я не подумал об этом:

ssh *** ". /etc/profile; mongodump --host=127.0.0.1:27017 --db=**** --archive --gzip" | mongorestore --host=127.0.0.1:27017 --drop --archive --gzip

Был 1603.96 real 45.24 user 43.57 sys.

Сейчас 209.52 real 7.25 user 6.03 sys.