การคำนวณตาราง Office ที่ใช้สภาพแวดล้อมเสมือนจริง - Part 1
การแนะนำ
ผมทำงานใน บริษัท ที่เราเรียกใช้งานชุดการประมวลผลหลายล้านระเบียนของข้อมูลในแต่ละวันและฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับการคิดทุกเครื่องที่นั่งรอบในแต่ละวันและทุกการทำอะไรเป็นเวลาหลายชั่วโมง มันจะไม่ดีถ้าเราสามารถใช้เครื่องที่เพื่อหนุนพลังการประมวลผลของระบบของเราหรือไม่ ในชุดของบทความนี้ฉันจะมองผลประโยชน์ที่อาจเกิดขึ้นจากการจ้างสำนักงาน กริด ใช้สภาพแวดล้อม virtualised
ในฐานะที่เป็น PHP นักพัฒนาที่ฉันจะใช้เครื่องมือที่ผมใช้ในแต่ละวันคือ Linux, mySQL , PHP, VirtualBox และโค่นล้ม (SVN) แต่ฉันหวังว่าคู่มือนี้จะปรับให้เข้ากับภาษาอื่น ๆ และเทคโนโลยีก็เช่นกัน
วิธีการแก้ปัญหาที่ผมให้จะขึ้นอยู่มากอย่างอิสระกับประเภทของการประมวลผลที่เราต้องการต้องเพื่อให้บรรลุอย่างไรก็ตามเรื่องนี้อาจไม่เป็นจริงผ่านบทความทั้งหมดที่ผมจะเปลี่ยนแปลงสิ่งเพื่อความง่ายในการผลิตหรือสถานการณ์การใช้งานน่าสนใจมากขึ้น
เหล่านี้สภาพแวดล้อม virtualised จะทำงานบนเครื่อง Windows ตั้งแต่นี้คือสิ่งที่คนส่วนใหญ่ของสำนักงานรัน การประมวลผลที่เครื่องใช้สำนักงานทำไม่ควรยุ่งเกี่ยวกับบุคลากรที่ใช้เครื่องเหล่านั้นควรจะต้องมีการบำรุงรักษาเครื่องที่ไม่มีและจะได้อย่างง่ายดาย deployable ไปยังเครื่องใหม่ที่พวกเขาเป็นใช้ได้ นอกจากนี้เสมือนเครื่องใหม่ไม่ควรต้องกำหนดค่าใด ๆ เพิ่มเติมเช่นนี้ช่วยลดความยืดหยุ่นและความสะดวกที่ระบบกริดสามารถขยาย
ตารางคอมพิวเตอร์สำนักงานจัดวางทำไม?
ประการแรกคุณอาจจะคิดว่าทำไมไม่ใช้เพียงทรัพยากรคอมพิวเตอร์เมฆเช่น แพลตฟอร์มของ Amazon EC2 ? ดีด้วยเหตุผลหลายประการที่อาจจะยกตัวอย่างเช่น:
- คุณจะไม่ได้มอบความไว้วางใจข้อมูลบางอย่างเพื่อสภาพแวดล้อมคอมพิวเตอร์เมฆ
- คุณไม่สามารถใส่ข้อมูลบางอย่างเข้าไปในระบบคอมพิวเตอร์เมฆด้วยเหตุผลทางกฎหมาย (เช่นข้อมูลออกจากประเทศ) ที่อาจเกิดขึ้นด้วยเหตุผลทางกฎหมายเช่นระเบียนพลุกพล่าน
- คุณต้องการให้หน่วยประมวลผลของคุณปิดและมีการควบคุมเต็มรูปแบบผ่านฮาร์ดแวร์มากเกินไป
- คุณไม่ได้รับเงินทุนโครงการที่จะเรียกใช้อินสแตนซ์เมฆ
- สำนักงานของคุณไม่ได้เชื่อมต่ออินเทอร์เน็ตและดังนั้นจึงไม่สามารถที่จะใช้ทรัพยากรเมฆ
- คุณไม่ชอบฝนเมฆฝนแนะนำให้ดังนั้นคุณให้ดีออกไป
ฉันแน่ใจว่ารายการสามารถดำเนินการต่อ แต่ผมคิดว่าพอสำหรับตอนนี้
ข้อดีของตารางคอมพิวเตอร์สำนักงาน
ดีจะช่วยให้ทำคณิตศาสตร์บางคน (และในรูปแบบฟิสิกส์ที่แท้จริงช่วยให้ทำให้สมมติฐานกวาดบางส่วน) ลองนึกภาพคุณมีเซิร์ฟเวอร์ในการประมวลผลขนาดใหญ่อ้วนทำงาน 100 งานต่อวัน ในที่ทำงานของคุณคุณมี 50 เครื่องซึ่งไม่ได้ใช้งาน 16 ชั่วโมงต่อวันของแต่ละเครื่องเหล่านี้คือ 10% เป็นพลังเป็นตัดการประมวลผลของคุณอ้วน (ผลทั้งหมดที่นี่จะถูกปัดเศษให้ประมาทเพิ่มประสิทธิภาพการทำงาน)
ดังนั้น 1 เครื่อง * ไฟ 10% * เวลา 2/3 = 0.067 การประมวลผลเช่นเดสก์ทอปที่ 1 ในเวลาว่างสามารถประมวลผลงานที่เต็มรูปแบบ 6 ต่อวัน
ถ้าคุณตอนนี้ระดับขึ้นนี้ใช้เวลา 15 เดสก์ท็ว่างในการประมวลผลงานเป็นจำนวนมากต่อวันเป็นเซิร์ฟเวอร์การประมวลผลหลักของคุณไม่
ดังนั้นในสำนักงานของเราในการหลอก 50 เครื่องเราสามารถเพิ่มพลังการประมวลผลของเราตั้งแต่วันที่ 1 เซิร์ฟเวอร์ได้สูงสุดถึง 4 เซิร์ฟเวอร์ในการประมวลผลเต็มรูปแบบหรือเราอาจจะประมวลผล 400 งานต่อวันแทน 100
แจ้งให้ทราบสำหรับการลงทุนในฮาร์ดแวร์ใหม่ยังไม่มี บริษัท ของคุณได้เพิ่มขึ้นเป็นเพียงแค่ความสามารถในการประมวลผลชุด 4 ครั้ง! ที่อาจเกิดการที่คุณกำลังจะเพิ่มการใช้พลังงานของคุณมากที่สุด แต่จากสภาพแวดล้อมที่สำนักงานผมเคยไปเครื่องที่เหลือโดยทั่วไปในชั่วข้ามคืนอยู่แล้วดังนั้นคุณอาจจะเห็นนี้เป็นความคิดริเริ่มสีเขียว
ข้อดีอื่น ๆ ยังหมายถึงการลงทุนว่าในใหม่ (หรือปรับปรุง) เซิร์ฟเวอร์ในการประมวลผลอาจล่าช้าถ้าเครื่องที่ทำงานของคุณมีเพียงพอและที่เป็นคุณในการปรับปรุงสมรรถนะของระบบที่ทำงานของคุณตารางสำนักงานของคุณจะกลายเป็นมีประสิทธิภาพยิ่งขึ้นโดยอัตโนมัติ
เทคโนโลยี
สิ่งที่คุณต้องการ? (หรือมากกว่าได้อย่างถูกต้องสิ่งที่ผมใช้):
- เครื่องใช้สำนักงาน Idle (ในกรณีของฉันอะไหล่เก่าแล็ปท็อป Windows XP)
- VirtualBox (หรืออื่นไคลเอ็นต์ซอฟต์แวร์ virtualisation)
- เครื่องเสมือนกับ PHP, MySQL runningÂทำงานตัดลง OS, ฉันโทรเหล่านี้เซิร์ฟเวอร์ปวกเปียกของฉัน :)
- เพื่อเรียกใช้งาน
- เซิร์ฟเวอร์งาน (สามารถควบคุมเครื่องเสมือนที่อื่น)
งานโดยทั่วไป
ประเภทของงานที่ระบบนี้ถูกออกแบบมาเพื่อใช้เป็นดังนี้:
- System ได้รับรายการของข้อมูลตามที่เราต้องการเพื่อให้ตรงกับและส่งกลับผลลัพธ์
- การจับคู่เกี่ยวข้องกับการตรวจสอบ / การค้นหาแหล่งข้อมูลหลาย ๆ (ที่ค่อนข้างคงที่)
- ผลการค้นหาจากแหล่งข้อมูลที่อาจต้องใช้การตรวจสอบเพิ่มเติมได้ที่ผสานการตรวจสอบจากแหล่งข้อมูลเพิ่มเติมในการตอบสนองต่อผลการ
- ข้อมูลจะถูกส่งกลับระเบียนที่ตรงกันกับ, การตรวจสอบและประมวลผลอย่างเต็มที่
- บันทึกภายในงานแต่ละเป็นอิสระจากส่วนที่เหลือ
ดังนั้นโดยทั่วไปเรากำลังมองหาที่ทำงานตำแหน่งงานที่ต้องการส่วนผสมของการค้นหาฐานข้อมูลและกระทืบหมายเลขบางสถานการณ์โดยทั่วไปเป็นธรรมในสภาพแวดล้อมทางธุรกิจ
โซลูชั่นกริดไม่เพียง แต่ได้เปรียบสำหรับการประมวลผลงานประเภทนี้ โดยทั่วไปกระบวนการซึ่งสามารถแบ่งออกเป็นหน่วยงานอิสระที่สามารถทำงานแบบขนาน ดูวิกิพีเดียนี้ไว้เพื่อเป็นตัวอย่างและข้อมูลเพิ่มเติมได้ที่: คอมพิวเตอร์ Grid แต่คู่ของตัวอย่างที่มีชื่อเสียงเป็น SETI @ Home และ BIONC . มีกรอบสำหรับการเรียกใช้กริดคอมพิว, และเหล่านี้มีมูลค่ารวมกำลังมองหาใน
สิ่งที่เราจะบรรลุ?
ในตอนท้ายของบทความเหล่านี้ผมหวังว่าจะแสดงให้เห็นว่าการปรับใช้กริดสำนักงานไม่จำเป็นต้องมีราคาแพงมหาศาลหรือใช้เวลานาน ฉันจะไปหารือ:
- การตั้งค่าระบบการควบคุมงานกำหนดค่าสมัครงาน
- การสร้างเครื่องประมวลผลที่เหมาะสมเสมือน
- วิธีการติดตั้งระบบบนเครื่อง windows
- มั่นใจว่าคุณจะใช้รหัสใหม่ล่าสุดและข้อมูล
- การปรับใช้และเปรียบเทียบ
- มองไปข้างหน้า
ฉันจะเป็นอาคาร (OK ฉันสร้างขึ้นแล้วเขียนนี้) โปรแกรมตัวอย่างเพื่อทดสอบแนวคิดในเครื่องท้องถิ่นโดยใช้ Windows XP และ 'GridMachine' เครื่องของฉันเสมือน เซิร์ฟเวอร์การควบคุมของฉันในงานจะมีเครื่องหลักของฉันที่ทำงาน Fedora 11 .
นี้จะในทางไม่ได้หมายถึงการแสดงให้เห็นถึงระบบที่แข็งแกร่งอย่างเต็มที่ทำงานหมายมากขึ้นจากการสาธิตและการอภิปรายแสดงให้เห็นว่าสิ่งเหล่านี้สามารถเกิดขึ้นได้ในพื้นที่สั้นเหตุผลของเวลาและค่าใช้จ่ายเล็ก ๆ น้อย ๆ กรุณาอย่าลังเลที่จะส่งความคิดเห็นใด ๆ ที่แก้ไขหรือปรับปรุงและฉันจะทำของฉันดีที่สุดเพื่อให้บทความมีการปรับปรุงเพื่อให้ตรงกับวันนี้
ครั้งต่อไป
ใน ส่วนที่ 2 ผมจะเริ่มต้นโดยดูที่ระบบการควบคุมงานและดูเป็นวิธีการที่งานควรจะกำหนดค่าเพื่อให้บรรลุจำนวนมากที่สุดของการประมวลผลในขณะที่มั่นใจว่างานแต่ละงานจะถูกประมวลผลโดยไม่ต้องล้มเหลว

















































