ข้ามไปที่เนื้อหาหลัก

ส่งไฟล์ขนาด 1TB ข้ามเครือข่าย 40mbps ทุกวัน ทำได้อย่างไร

โจทย์ของผมวันนี้คือจะส่งไฟล์ขนาด 1TB ที่จะถูกสร้างขึ้นมาทุกๆ วัน ข้าม WAN Network ขนาด 40mbps อย่างไรให้ทันในทุกๆ วัน
หากคำนวณแบบง่าย 1TB จะมีขนาดเท่ากับ 1,024 x 1024 x 8 = 8,388,608 Megabits
ถ้าต้องผ่านเครือข่าย ความเร็ว 40mbps จะต้องถูกตัด ค่า Overhead ราวๆ 25% จะเหลือ 30mbps
ถ้าเอามาคำนวณจะได้ระยะเวลาราวๆ 8,388,608 / 30 / 60 (second) / 60 (minutes) = 77.7 ชั่วโมง
มองในมุมกลับกัน ถ้า เรามีท่อแค่ 40mbps เราจะส่งข้อมูลให้ทัน 1 วัน เราจะส่งได้มากที่สุด เท่าไหร่
คิดได้เป็น 30mbps x 60 (second) x 60 (minutes) x 24 (hours) = 2,592,000 mbits
หรือคิดเป็น 2,592,000 / 8 (bit) = 324,000 MB หรือราวๆ 317GB เท่านั้น
ดังนั้นจากสัดส่วนที่ แสดงให้เห็น ผมจะต้องย่อข้อมูลลง ให้เหลือน้อยกว่า 300GB ถึงจะสามารถส่งได้ทันในหนึ่งวัน ผมเลยทำการทดสอบด้วยการใช้ compress แบบต่างๆ ได้ผลลัพธ์ ดังนี้

(Source)
5,748,339,200 Nov 19 23:07 DBBCK_001

(1)
root@dbsrv01:/dbbackup# time gzip -1 -c DBBCK_001 > DBBCK_001.gz
real    1m38.509s
user    1m31.384s
sys     0m6.913s

(2)
root@dbsrv01:/dbbackup# time bzip2 -c -1 DBBCK_001 > DBBCK_001.bz2
real    7m18.341s
user    7m14.043s
sys     0m4.245s

(3)
root@dbsrv01:/dbbackup# time 7z a -t7z -m0=lzma -mx=1 -mfb=64 -md=32m -ms=on DBBCK_001.7z DBBCK_001
real    10m2.367s
user    9m57.683s
sys     0m4.622s

(4)
root@dbsrv01:/dbbackup# time 7z a -t7z -mx=1 -mmt=off DBBCK_001.7z2 DBBCK_001
real    4m12.914s
user    4m8.968s
sys     0m3.925s

(Result)
1,587,538,958 Nov 20 19:55 DBBCK_001.gz
1,212,956,103 Nov 20 20:16 DBBCK_001.bz2
  899,237,632 Nov 20 20:45 DBBCK_001.7z
  967,667,885 Nov 20 20:58 DBBCK_001.7z2

            จะเห็นว่า 7z ใช้เวลานานกว่า gzip ถึงสองเท่า แต่ทำให้ขนาดลดลงได้มากกว่าราวๆ 30% และด้วยสัดส่วนนี้ ถ้าไฟล์ทั้งหมด ถูกลดขนาดลงไป เหลือเพียง 17-20% นั่นหมายความว่า ผมจะมีไฟล์ต้นทางที่ใช้ในการส่งจริงเพียง 200GB เท่านั้น
อันนี้เป็นตัวอย่างพื้นฐานในการแก้ปัญหา การส่งไฟล์ขนาดใหญ่ข้าม เครือข่าย นะครับ ในการทำงานจริง ผมยังใช้ คุณสมบัติอีกหลายอย่าง ช่วยเช่น Deduplication, Compression ให้มาทำงานร่วมกัน ส่งผลให้ สามารถย่อข้อมูลบางครั้ง เหลือเพียง 5-10% เท่านั้น
แล้วเจอกันใหม่ครับ ขอให้สนุกกับการทำงาน
Lek Noi~

ขอขอบคุณบทความดีๆๆจากMOM I'M HUNGRY
อ้างอิงเนื้อหาจาก:https://www.facebook.com/notes/mom-im-hungry/%E0%B8%AA%E0%B9%88%E0%B8%87%E0%B9%84%E0%B8%9F%E0%B8%A5%E0%B9%8C%E0%B8%82%E0%B8%99%E0%B8%B2%E0%B8%94-1tb-%E0%B8%82%E0%B9%89%E0%B8%B2%E0%B8%A1%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B8%AD%E0%B8%82%E0%B9%88%E0%B8%B2%E0%B8%A2-40mbps-%E0%B8%97%E0%B8%B8%E0%B8%81%E0%B8%A7%E0%B8%B1%E0%B8%99-%E0%B8%97%E0%B8%B3%E0%B9%84%E0%B8%94%E0%B9%89%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3/1966501683427399/


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

วิธีใช้ Google Form ส่งข้อความเข้า LINE Notify

วิธีใช้ Google Form ส่งข้อความเข้า LINE Notify           ขั้นตอนต่อไปนี้จะข้ามส่วนของรายละเอียดบางอย่างไป ซึ่งก่อนจะทำตรงนี้ควรจะรู้แล้วว่า LINE Notify ใช้ทำอะไร และ Access Token จะเอามาจากไหน แต่จะพยายามอธิบายให้ครอบคลุมที่สุดก็แล้วกัน Update: 2019/06/10 ในท้ายบทความได้เพิ่มคำอธิบายเรื่องการส่งข้อมูลหลายกล่องข้อมูล (คอลั่ม) พร้อมกับ code ที่วนลูปข้อมูลทุกกล่อง เพื่อความสะดวกในการส่งข้อมูลในรูปแบบเดิม สร้าง Google Form วิธีสร้างก็ง่ายแสนง่าย เข้าไปที่  https://docs.google.com/forms  จากนั้น คลิกตรงเครื่องหมาย + ตามภาพ จะได้ form หน้าตาแบบนี้มา แก้ไขตามสะดวกเลย ตัวอย่างเอาแบบนี้แล้วกัน จะลองส่งข้อความคลิกที่รูป “ตา” พิมพ์ข้อความอะไรก็ได้ แล้ว กด Submit โลด กลับไปหน้า Form ของเราใน tab แรก มันก็จะมี RESPONSES เข้ามา เมื่อคลิกดูก็จะพบข้อความที่เราเพิ่งพิมพ์ไปเมื่อตะกี้ ใส่ code ใน Script Editor คลิกที่ จุด 3 จุด ด้านขวาบน แล้วเลือก  <> Script Editor จะพบหน้าเปล่าๆ ที่ไม่คุ้นเคย ตรงนี้แหละที่เราจะมาใส่ code ใ...

คาร์บอนฟุตพริ้นท์ (Carbon Footprint)

คาร์บอนฟุตพริ้นท์ ( Carbon Footprint) คาร์บอนฟุตพริ้นท์ ( Carbon Footprint) คืออะไร ในภาวะโลกร้อนที่นับวันยิ่งทวีความรุนแรงขึ้น ซึ่งสาเหตุที่สำคัญคงหนึไม่พ้นเกิดจากกิจกรรมต่างของมนุษย์เรานั่นเอง ทั้งจากการใช้พลังงาน การทำลายทรัพยากรธรรมชาติเช่น การตัดไม้ทำลายป่า การขนส่ง และการขยายตัวของภาคอุตสาหกรรม และในปัจจุบันเราจะพบว่าในหลาย ๆ ประเทศได้มีความตื่นตัวในเรื่องเกี่ยวกับภาวะโลกร้อนกันมากขึ้น และสิ่งหนึ่งที่ให้ความสนใจก็คือ การที่จะร่วมมือกันผลิตและบริโภคผลิตัณฑ์ที่เป็นมิตรกับสิ่งแวดล้อม โดยมีทั้งการเชิญให้ผู้ผลิตได้เข้าร่วมโครงการเพื่อให้ได้รับเครื่องหมายคาร์บอนฟุตพริ้นท์ และเชิญชวนให้ผู้บริโภคหันมาซื้อผลิตภัณฑ์ที่มีฉลากแสดงข้อมูลคาร์บอนฟุตพริ้นท์อีกด้วย คาร์บอนฟุตพริ้นท์ ( Carbon Footprint, CF) คือ การวัดผลกระทบสิ่งแวดล้อมด้านการเปลี่ยนแปลงภูมิอากาศ ซึ่งเกี่ยวข้องกับปริมาณการปล่อยก๊าซเรือนกระจก ( Greenhouse Gases, GHGs) จากกระบวนการผลิตสินค้าตลอดวัฎจักรชีวิต ( Product Life Cycle) โดยเริ่มตั้งแต่ การจัดหาวัตถุดิบนำไปแปรรูป ผลิต จดจำหน่าย การใช้งาน และการจัดการหลังจากผลิ...

ทำความเข้าใจ LM, NTLM, NTLMv2

ทำความเข้าใจ LM, NTLM, NTLMv2  วันนี้เราจะมาทำความเข้าใจเกี่ยวกับรูปแบบการเก็บ password ของ Windows โดยแต่ก่อนจนถึงปัจจุบันก็มีพัฒนาการมาเรื่อยๆครับ ซึ่งจะเริ่มจาก LM (Lan Manager) hash โดย LM นั้นเป็นรูปแบบดั้งเดิมในการเก็บ password ของ Windows ตั้งแต่ยุค 1980 ซึ่งในช่วงนั้นยังมีจำนวน charset ที่ยังจำกัดอยู่(16-bits characters) ซึ่งทำให้การ crack password นั้นทำได้ง่ายมากโดยดึงจาก SAM database บน Windows หรือว่า NTDS บน Domain Controller (Active Directory) ได้เลย โดยขั้นตอนการเปลี่ยน password อยู่ในรูปแบบ LM hash คือ เปลี่ยนอักษรทั้งหมดเป็นตัวใหญ่ หากตัวอักษรไม่ครบ 14 ตัวอักษรก็จะเติมตัวอักษรทั้งหมดให้เต็มด้วย NULL characters แบ่งเป็น 2 กลุ่ม กลุ่มละ 7 ตัวอักษร สร้าง DES key จาก character 7 ตัวทั้ง 2 กลุ่ม ก็จะได้ DES key 2 ชุด (ชุดละ 64 bit) นำ DES key ไปเข้ารหัส static string “KGS!@#$%” ด้วย DES (ECB) นำ encrypted strings ทั้ง 2 อันมาต่อกัน ก็จะได้เป็น LM Hash เช่น สมมติ password เป็น password password => password000000 PASSWORD000000 PASSWOR...