ฉันเรียกใช้เว็บเซิร์ฟเวอร์ 2 หลอดที่ผู้ให้บริการที่แตกต่างกันเพื่อการกู้คืนจากความเสียหาย - เซิร์ฟเวอร์ที่ใช้พลังงานสูงและเซิร์ฟเวอร์สำรองที่ใช้พลังงานต่ำ
ขณะนี้ฉันซิงค์ข้อมูลทั้งหมดจากเซิร์ฟเวอร์สดไปยังเซิร์ฟเวอร์สำรองทุก 4 ชั่วโมง
ใช้งานได้ดี แต่ขัดขวางระบบโหลดขณะที่ rsync คิดว่าไฟล์ใดมีการเปลี่ยนแปลง
เนื่องจากเว็บไซต์ทั้งหมดนั้นอาศัยอยู่ในที่เก็บคอมไพล์ฉันสงสัยว่าการพุชแบบ git นั้นจะเป็นเทคนิคการสำรองข้อมูลที่ดีกว่าหรือไม่
ฉันต้องรวมโฟลเดอร์การอัปโหลดสดใน repo คอมไพล์; แล้วกระบวนการสำรองข้อมูลจะเป็น:
live$ git add .
live$ git commit -a -m "{data-time} snapshot"
live$ git push backup live_branch
แล้วมีการโพสต์กระทำเบ็ดบนเซิร์ฟเวอร์สำรองเพื่อเช็คเอาต์ทุกครั้ง
แต่ละเว็บไซต์มีขนาดตั้งแต่ 50M ถึง 2GB ฉันจะจบด้วย repos คอมไพล์ประมาณ 50 อัน
นี่เป็นทางออกที่ "ดีกว่า" กว่า rsync หรือไม่
- git ดีกว่าในการคำนวณว่าไฟล์ใดมีการเปลี่ยนแปลงหรือไม่?
- git นั้นมีประสิทธิภาพมากกว่า rsync หรือไม่
- ฉันลืมอะไรไป
ขอบคุณ!
---- ข้อมูลจากการทดสอบเปรียบเทียบบาง ------
1) โฟลเดอร์ 52MB จากนั้นเพิ่มโฟลเดอร์ 500k ใหม่ (ส่วนใหญ่เป็นไฟล์ข้อความ)
rsync
sent 1.47K bytes received 285.91K bytes
total size is 44.03M speedup is 153.22
real 0m0.718s user 0m0.044s sys 0m0.084s
คอมไพล์
Counting objects: 38, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (37/37), done.
Writing objects: 100% (37/37), 118.47 KiB, done.
Total 37 (delta 3), reused 0 (delta 0)
real 0m0.074s user 0m0.029s sys 0m0.045s
2) โฟลเดอร์ 1.4G จากนั้นเพิ่มโฟลเดอร์ 18M ใหม่ (ภาพส่วนใหญ่)
rsync
sent 3.65K bytes received 18.90M bytes
total size is 1.42G speedup is 75.17
real 0m5.311s user 0m0.784s sys 0m0.328s
คอมไพล์
Counting objects: 108, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (106/106), done.
Writing objects: 100% (107/107), 17.34 MiB | 5.21 MiB/s, done.
Total 107 (delta 0), reused 0 (delta 0)
real 0m15.334s user 0m5.202s sys 0m1.040s
3) โฟลเดอร์ 52M จากนั้นเพิ่มโฟลเดอร์ 18M ใหม่ (ภาพส่วนใหญ่)
rsync
sent 2.46K bytes received 18.27M bytes 4.06M bytes/sec
total size is 62.38M speedup is 3.41
real 0m4.124s user 0m0.640s sys 0m0.188s
คอมไพล์
Counting objects: 108, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (106/106), done.
Writing objects: 100% (107/107), 17.34 MiB | 5.43 MiB/s, done.
Total 107 (delta 1), reused 0 (delta 0)
real 0m6.990s user 0m4.868s sys 0m0.573s
4) โฟลเดอร์ 1.4G จากนั้นเพิ่มโฟลเดอร์ใหม่ 500k (ข้อความส่วนใหญ่)
rsync
sent 2.66K bytes received 916.04K bytes 612.47K bytes/sec
total size is 1.42G speedup is 1547.14
real 0m1.191s user 0m0.180s sys 0m0.268s
คอมไพล์
Counting objects: 49, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (48/48), done.
Writing objects: 100% (48/48), 177.90 KiB, done.
Total 48 (delta 3), reused 0 (delta 0)
real 0m1.776s user 0m0.390s sys 0m0.497s
5) โฟลเดอร์ 1.4G - ไม่มีการเปลี่ยนแปลง
rsync
sent 1.72K bytes received 716.44K bytes 287.26K bytes/sec
total size is 1.42G speedup is 1979.18
real 0m1.092s user 0m0.168s sys 0m0.272s
คอมไพล์
nothing to commit (working directory clean)
real 0m0.636s user 0m0.268s sys 0m0.348s
5) โฟลเดอร์ 52M - ไม่มีการเปลี่ยนแปลง
rsync
sent 528 bytes received 88.40K bytes 59.29K bytes/sec
total size is 62.38M speedup is 701.41
real 0m0.779s user 0m0.044s sys 0m0.144s
คอมไพล์
nothing to commit (working directory clean)
real 0m0.156s user 0m0.057s sys 0m0.097s