Я пишу код для развертывания с использованием Fabric на всех веб-машинах и задавался вопросом, как rsync vs. upload project работает с точки зрения распараллеливания и кратчайшего времени.Ткань: Масштабируемость rsync_project vs upload_project
Есть ли тесты?
Могу ли я rsync на 100 машин параллельно? Какой ограничивающий фактор?
rsync_project(
env.root,
exclude=RSYNC_EXCLUDE,
delete=True,
extra_opts=extra_opts,
)
Аналогичным образом, что является ограничивающим фактором для upload_project? Каков предел sftp по количеству?
@parallel
def testapp():
with cd('~/projects'):
upload_project('./receiver', '/home/sysadmin/projects')
С точкой догадки стенда, проект загрузки должен быть лучше, так как смолы должны быть сделаны только один раз, а затем его SFTP. Или это несколько раз для примера, показанного выше?
Ткань делает что-то вроде дросселирования, чтобы сеть не задыхалась до предела?
Может кто-нибудь помочь в этом?
delete = True не превратит rsync в scp. Это означает, что удаленные файлы удаляются удаленно. Вероятно, это то, что вы хотите. – MiniQuark
@MiniQuark Я изменил ответ в соответствии с вашими соображениями о delete = true. – gagarine