Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/th/_th_tag_virtual) [function.fopen]: failed to open stream: Disk quota exceeded in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1183

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1184

Warning: fwrite(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1188

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1190
Evilprofessor.co.uk »เสมือน

Posts tagged: เสมือน

การคำนวณตาราง Office ที่ใช้สภาพแวดล้อมเสมือนจริง - ส่วนที่ 3

โดย , วันศุกร์ 4 ธันวาคม 2009 23:37

การแนะนำ

ผมทำงานใน บริษัท ที่เราเรียกใช้งานชุดการประมวลผลหลายล้านระเบียนของข้อมูลในแต่ละวันและฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับการคิดทุกเครื่องที่นั่งรอบในแต่ละวันและทุกการทำอะไรเป็นเวลาหลายชั่วโมง มันจะไม่ดีถ้าเราสามารถใช้เครื่องที่เพื่อหนุนพลังการประมวลผลของระบบของเราหรือไม่ ในชุดของบทความนี้ฉันจะมองผลประโยชน์ที่อาจเกิดขึ้นจากการจ้างสำนักงาน กริด ใช้สภาพแวดล้อม virtualised

ใน ส่วนที่ 2 เรามองที่งานเซิร์ฟเวอร์จะทำงานและวิธีการที่งานควรจะกำหนดค่าเพื่อให้บรรลุจำนวนมากที่สุดของการประมวลผลในขณะที่มั่นใจว่างานแต่ละงานจะถูกประมวลผลโดยไม่ต้องล้มเหลว

การตั้งค่าของผู้ปฏิบัติงานของคุณ - หรือเซิร์ฟเวอร์ Limp

ขั้นตอนถัดไปในกระบวนการคือการตั้งค่าแรงงานเสมือนของคุณ สำหรับนี้ฉันจะใช้การติดตั้ง CentOS ใช้ VirtualBox ฉันกำลังจะไปติดตั้ง mySQL และ PHP บนเซิร์ฟเวอร์ที่เรียกว่าเป็น Limp (nux ​​Li, ม. ySQL, P HP) Servera (ฉันอาจจะทำให้ชื่อที่ขึ้นไป)

  • ติดตั้ง VirtualBox ในเครื่องหน้าต่างของคุณ (ตามลิงก์)
  • ดาวน์โหลดและติดตั้ง CentOS (ปัจจุบัน 5.3 รุ่น) ภายในเครื่องเสมือนที่สร้างขึ้น

มีจุดให้ฉันไปนี้อาจมีใน 1,000 ของบทเรียนที่ดีออกมี (: ok ที่นี่ไม่มีใครที่ สร้างและเครื่องManaging CentOS เสมือนภายใต้ VirtualBox ) จุดสำคัญที่ควรทราบก็คงจะเป็นที่ฉันเรียกว่าเครื่อง GridMachine ของฉันเสมือน

เท่าที่ฉันมีทางเลือกของลูกค้า virtualisation และระบบปฏิบัติการไปที่นั่นไม่มีเหตุผลที่น่าสนใจมากสำหรับแต่ละทางเลือกคือ VirtualBox เป็นสิ่งที่ผมใช้ในเครื่องที่บ้านของฉันและได้รับการสนับสนุนโดยสามระบบปฏิบัติการหลัก ผมเลือก CentOS เป็นระบบปฏิบัติการที่มีเสถียรภาพที่ดีและฉันจะใช้มันบนเว็บเซิร์ฟเวอร์ของตัวเอง ผมเชื่อในเครื่องมือที่เหมาะสมสำหรับงาน (แม้ว่าฉันใช้ 'ใช้เร็วและง่ายที่สุดสำหรับคุณ' ความคิดที่นี่) ดังนั้นหากระบบปฏิบัติการที่ทำงาน X รหัสของคุณที่รวดเร็วและมีประสิทธิภาพมากขึ้นใช้ที่แทน :)

ที่สำคัญตรวจสอบให้แน่ใจว่า VM ของคุณใช้ DHCP มิฉะนั้นสำหรับเครื่องเสมือนแต่ละรุ่นใหม่จะต้องมีการกำหนดค่าแยกกันซึ่งเป็นสิ่งที่เราไม่ได้ใช้ DHCP want.By เราไม่จำเป็นต้องตั้งค่าเครือข่ายแต่ละเครื่องของผู้ปฏิบัติงาน, DHCP จะมือ ออก IPs สำหรับคุณ ดังนั้นคุณสามารถคัดลอกเสมือนเครื่องของคุณเกี่ยวกับสำนักงานโดยไม่ต้องกังวลเกี่ยวกับการตั้งแต่ละคนขึ้นไป (scalability นี้ดีขึ้นและช่วยลดการบริหารงานของผู้ปฏิบัติงาน)

ขั้นตอนที่คุณควรมุ่งมั่นเพื่อให้บรรลุจะได้รับเครื่องกายภาพใหม่ที่ติดตั้ง VirtualBox แล้วสวยมากปรับใช้รูปแบบเสมือนได้โดยไม่ต้องมากอื่น มันอาจจะฉลาดในการติดตั้งคนงานทั้งหมดของคุณบนเครือข่ายย่อยที่แตกต่างกันเพื่อให้คุณอย่างน้อยสามารถดูวิธีการหลายเครื่องกำลังทำงาน คุณยังจะต้องตั้งค่าเครื่องของคุณเกี่ยวกับสัญญาเช่าระยะยาวหรือไม่ จำกัด เช่า DHCP

วิธีการเรียกใช้งานเมื่อผู้ปฏิบัติงาน

นี้เป็นพื้นที่ที่น่าสนใจและมีวิธีการที่ถูกต้องหลายประการสำหรับการประมวลผลงานของผู้ปฏิบัติงานเกี่ยวกับ ที่นี่ฉันจะหารือสองที่ชัดเจนที่สุด:

  • ตลอดการเรียกใช้สคริปต์: สคริปต์ไม่ว่าจะเป็นสคริปต์เปลือกหรือสคริปต์ PHP จะถูกดำเนินการครั้งเดียวในผู้ปฏิบัติงานและการทำงานเป็นส่วนหนึ่งของวง จำกัด ผมเคยลดวิธีการนี​​้เป็นหนึ่งในความผิดพลาดของสคริปต์และอาจแรงงานของคุณจะหยุดทำงานโดยไม่ต้องเรียงลำดับของการแทรกแซงบาง
  • การดำเนินการตามสคริปต์ Cron: ทุกนาที X ภูต cron kicks ปิดสายไปยังสคริปต์ของคุณที่จะได้รับสิ่งที่จะ โดยไม่ตรวจสอบบางส่วนนี้อาจนำไปสู่​​หลายสำเนาหลายของสคริปต์ของคุณทำงานของผู้ปฏิบัติงาน

การตัดสินใจของฉันคือการที่จะไปกับ cron ซึ่ง kicks ปิดเชลล์สคริปต์ทุก 10 minutes.Âเชลล์สคริปต์ของฉันดำเนินงานต่อไปนี้:

  1. รับรายชื่อกระบวนการและ grep นี้สำหรับ 'PHP' หากไม่พบแล้วดำเนินการต่อ
  2. เรียกรหัสงานของคุณในกรณีของฉันนี้จะเป็นบางสิ่งบางอย่างจาก PHP
  3. สคริปต์ทำงานเสร็จสิ้นการทำงานของมัน
  4. พร้อมที่จะไปอีกครั้งเมื่อสายที่เหมาะสมต่อไป

สคริปต์ทุบตีฉันมีลักษณะบางอย่างเช่นต่อไปนี้:

  #! / bin / sh
 ถ้า PS ขวาน | grep-V grep | grep PHP> / dev / null
 แล้ว
     echo "งานอยู่ในขณะนี้การประมวลผลที่ออก"
 อื่น
     echo "งานไม่ทำงานเริ่มต้นตอนนี้"
     yourJobProcessingScript.php PHP
 สาย 

หมายเหตุ: echo 's เกือบจะไม่มีจุดหมายสมบูรณ์ แต่อาจช่วยให้คนถัดไปที่มาพร้อมที่จะลองและแก้ไขได้

ที่สรุปการตั้งค่าของเครื่องเสมือนคนงานที่รวดเร็วง่ายและใช้งานง่ายเพื่อคัดลอกไปยังแต่ละชิ้นใหม่ของฮาร์ดแวร์ที่ได้รับ 'ฉลาด' ของระบบกริดจริงๆไม่ได้อยู่ในมองเห็นระบบปฏิบัติการทั้งหมดจะทำอย่างไรกับรหัสที่สร้างขึ้นเพื่องานกระบวนการการกำหนดค่าสมัครงานและในการทำให้แน่ใจว่างานที่จะทำงานเมื่อความเหมาะสม (เช่นเมื่อโฮสต์ไม่ได้ใช้งานของมัน )

การตั้งค่าของ Windows เพื่อเริ่มต้นได้ใช้แรงงาน

งานแรกคือการทำงานออกคำสั่งที่จำเป็นในการเรียกใช้เครื่องเสมือนจากบรรทัดคำสั่งหน้าต่าง หากคุณได้ติดตั้ง VirtualBox ในตำแหน่งเริ่มต้นและคุณได้ตั้งชื่อตามชื่อของผู้ปฏิบัติงาน GridMachine ของคุณแล้วคำสั่งที่จำเป็นในการโหลดขึ้นของผู้ปฏิบัติงานของคุณคือ:

  "C: \ Program Files \ อาทิตย์ \ VirtualBox \ VBoxManage.exe" GridMachine startvm 

อย่างไรก็ตามการเรียกใช้สคริปต์ในรัฐหัวขาด 'เราจำเป็นต้องใช้:

  "C: \ Program Files \ อาทิตย์ \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off 

นี้จะเริ่มเครื่องเสมือนได้โดยไม่ต้อง GUI และอนุญาตให้บันทึกรัฐอย่างสง่างาม อาร์กิวเมนต์ที่สองจะปิด RDP ดังนั้นจึงไม่มีความขัดแย้งกับหน้าต่าง RDP หรือให้ข้อความเกี่ยวกับการฟังในพอร์ต 3389. ชื่อเครื่องเสมือนเป็นกรณีที่สำคัญ!

ต่อไปเราจะต้องตั้งค่าหน้าต่างขึ้นไปเตะปิด VM ของผู้ปฏิบัติงานของเราเมื่อเครื่องไม่มีการใช้งาน การทำเช่นนี้ (ใน Windows XP) คุณจะต้องไปที่ Start -> โปรแกรมทั้งหมด -> Accessories -> เครื่องมือระบบ -> งานที่กำหนดเวลาดังนี้

งานที่กำหนดเวลา

คลิกถัดไปที่ 'เพิ่มการจัดตารางงาน' ตามด้วยเรียกดูเพื่อเพิ่มโปรแกรมที่กำหนดเอง นำทางไปยังสคริปต์ VBoxManage ของคุณและคลิก OK ตารางงานของคุณสำหรับตัวเลือกใด ๆ (เราจะเปลี่ยนแปลงนี้ในนาที) และต่อเนื่อง หลังจากที่กระโดดข้ามหน้าจอถัดไป Windows จะถามคุณที่คุณต้องการเรียกใช้งานนี้ผมขอแนะนำทั้ง 'ผู้ดูแล' หรือการสร้างผู้ใช้สิทธิพิเศษใหม่ จำเราไม่ต้องการเข้าไปยุ่งเกี่ยวกับบัญชีพนักงานมาตรฐานบนเครื่องที่จุดใด คลิกที่ถัดไปและตรวจสอบตัวเลือกขั้นสูงที่แสดงสำหรับงานนี้

ที่ส่วนท้ายของช่องวิ่งของเราเพิ่มสตริง 'startvm GridMachine' และมั่นใจว่าการทำงานเฉพาะเมื่อเข้าสู่ที่เหลืออยู่ unticked ไปที่งานตามกำหนดการต่อไปและเปลี่ยนกำหนดการเลื่อนลงไปที่ตัวเลือก 'เมื่อไม่ได้ใช้งาน', เลือกระยะเวลาที่คุณต้องการเครื่องที่จะใช้งานก่อนที่จะย้ายไปที่แท็บถัดไป

ในที่สุด untick ตัวเลือกที่ระบุหยุดงานหากได้รับการทำงานจำนวนครั้ง แต่ไม่ติ๊กเลือกที่จะหยุดงานถ้าเครื่องไม่ได้ใช้งาน

กำหนด

นั่นแหล่ะแล้วสำหรับการตั้งค่าโฮสต์ Windows!

ข้อมูลอย่างย่อ

ในส่วนนี้เราได้ตั้งค่าเครื่องเสมือนการทำหน้าที่เป็นผู้ปฏิบัติงานเช่นเดียวกับวิธีที่เราเรียกและรันสคริปต์ในการประมวลผลงานของเรา (สำหรับตัวเองคริป PHP) จากที่นี่เรามองไปที่วิธีการตั้งค่าสำเนาของหน้าต่างเพื่อเริ่มต้นขึ้นเสมือนเครื่องในโหมดโง่เมื่อคอมพิวเตอร์กลายเป็นงานของเราและบันทึกสถานะของมันเมื่อผู้ใช้ดำเนินการต่อการใช้งานของเครื่อง หวังว่าที่จุดนี้คุณเห็นวิธีง่ายๆก็คือการตั้งค่าระบบดังกล่าวและมีอาการคันที่จะได้รับการทดสอบบางอย่างไปด้วยตัวเอง!

ครั้งต่อไป

ใน ส่วนที่ 4 เราจะมองที่การใช้เครื่องมือเพื่อให้แน่ใจว่าคุณใช้รุ่นล่าสุดของแหล่งที่มารหัสและข้อมูลเพื่อให้ผลลัพธ์ที่ได้มักจะ up-to-date ด้วยข้อมูลทางธุรกิจใหม่ล่าสุดและตรรกะ

การคำนวณตาราง Office ที่ใช้สภาพแวดล้อมเสมือนจริง - Part 1

โดย , วันศุกร์ 4 ธันวาคม 2009 11:23

การแนะนำ

ผมทำงานใน บริษัท ที่เราเรียกใช้งานชุดการประมวลผลหลายล้านระเบียนของข้อมูลในแต่ละวันและฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับการคิดทุกเครื่องที่นั่งรอบในแต่ละวันและทุกการทำอะไรเป็นเวลาหลายชั่วโมง มันจะไม่ดีถ้าเราสามารถใช้เครื่องที่เพื่อหนุนพลังการประมวลผลของระบบของเราหรือไม่ ในชุดของบทความนี้ฉันจะมองผลประโยชน์ที่อาจเกิดขึ้นจากการจ้างสำนักงาน กริด ใช้สภาพแวดล้อม 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 ผมจะเริ่มต้นโดยดูที่ระบบการควบคุมงานและดูเป็นวิธีการที่งานควรจะกำหนดค่าเพื่อให้บรรลุจำนวนมากที่สุดของการประมวลผลในขณะที่มั่นใจว่างานแต่ละงานจะถูกประมวลผลโดยไม่ต้องล้มเหลว

การคำนวณตาราง Office ที่ใช้สภาพแวดล้อมเสมือนจริง - ส่วนที่ 2

โดย , วันศุกร์ 4 ธันวาคม 2009 11:23

การแนะนำ

ผมทำงานใน บริษัท ที่เราเรียกใช้งานชุดการประมวลผลหลายล้านระเบียนของข้อมูลในแต่ละวันและฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับการคิดทุกเครื่องที่นั่งรอบในแต่ละวันและทุกการทำอะไรเป็นเวลาหลายชั่วโมง มันจะไม่ดีถ้าเราสามารถใช้เครื่องที่เพื่อหนุนพลังการประมวลผลของระบบของเราหรือไม่ ในชุดของบทความนี้ฉันจะมองผลประโยชน์ที่อาจเกิดขึ้นจากการจ้างสำนักงาน กริด ใช้สภาพแวดล้อม virtualised

ใน ส่วนที่ 1 ผมให้ภาพรวมของระบบและเทคโนโลยีที่ฉันจะใช้เช่นกันตามที่กล่าวไว้บางส่วนของเหตุผลที่มีศักยภาพว่าทำไมคุณต้องการที่จะสร้างตารางสำนักงาน

การควบคุมงาน

หากคุณกำลังจะใช้งานแล้วคุณจะต้องมีวิธีบางอย่างเพื่อจัดการกับพวกเขา ระบบการควบคุมงานของคุณ (บนเซิร์ฟเวอร์งานของคุณ) จะต้องคิดดีจริงๆที่ออกมาก่อนแม้กระทั่งความพยายามที่จะเรียกใช้ตารางสำนักงาน ดังนั้นประการแรกสิ่งที่งานสำหรับระบบการควบคุมงานดังนี้:

  • มือออกงานเมื่อมีการร้องขอจากคนงาน
  • บอกให้คนงานสิ่งที่ประเภทของงานที่จะเรียกใช้
  • งานแทรค
  • ตรวจสอบให้แน่ใจว่างานที่จะทำงานเพียงครั้งเดียว
  • ให้ข้อมูลงานเพื่อคนงานหรืออย่างน้อยก็บอกพวกเขาที่จะได้รับมัน

นอกจากนี้ระบบยังจะต้องมีการขยายโซลูชั่นที่ทำงานสำหรับในตอนนี้ในกรณีเดียวอาจจะขยายเพื่อให้ทำงานได้หลายประเภทของงานที่เป็นธุรกิจที่มีมูลค่าการมองเห็นในการแก้ปัญหาตาราง ตัวอย่างเช่นงานอาจได้รับลำดับความสำคัญประเภทของงานมากกว่าหนึ่งอาจมีอยู่ (เช่นฐานรหัสหลาย) ในที่สุดคุณอาจจะใช้เครื่องของผู้ปฏิบัติงานแตกต่างกันหลายที่มีการปรับให้เหมาะสมกับประเภทของงานแต่ละคน (แต่ที่ไม่ย้ายออกจากคนงานทั่วไป " ความคิด) พยายามที่จะคิดเกี่ยวกับอนาคตเมื่อมีการพัฒนาระบบการมองเห็นระยะสั้นสามารถนำไปสู่​​ความยุ่งยากในระยะยาวและเวลาในการพัฒนาเพิ่มขึ้น

เซิร์ฟเวอร์งาน

เรากำลังจะต้องอยู่ที่ไหนสักแห่งในการควบคุมงานของเราจากนี้ควรจะเป็นระบบเดียวในตารางของคุณที่มี Resource Locator คงเป็นที่อยู่ IP, ชื่อโฮสต์ URL (ใช้ภายใน DNS) เป็นต้นทั้งนี้เป็นเพราะ คนงานจำเป็นต้องรู้ที่จะมองหางานหรือผู้ปฏิบัติงานจำเป็นต้องค้นหาระบบการควบคุมงาน (ไม่ระบบการควบคุมงานหาคนงาน)

เซิร์ฟเวอร์งานตัวเองไม่ได้จริงๆมีงานที่ซับซ้อน (ในระบบขั้นพื้นฐาน แต่อย่างใด) จะต้องจัดเก็บรายชื่อของงาน, มือออกงานได้รับผลและต่อมาเก็บไว้เพื่อเรียกใช้ในภายหลัง วิธีการชิ้นส่วนเหล่านี้ ('มือออกงาน' เช่น) มีการกำหนดสามารถเป็นพื้นฐานมาก ต่อมาเมื่อเราสามารถขยายระบบอินเตอร์เฟซที่จะรวมการบริหารงานเพื่อเพิ่ม, แก้ไข, ลบ, ระงับการงาน แต่นี้อยู่นอกเหนือการออกกำลังกายนี้

มีเหตุผลใด ๆ ก็ตามแล้วว่าเซิร์ฟเวอร์งานของคุณไม่สามารถทำงานเสมือนเครื่องภายในเซิร์ฟเวอร์ในการประมวลผลหลักที่ให้คุณไม่ได้ระบายทรัพยากรมากเกินไปจากมันคือ เซิร์ฟเวอร์งาน แต่ไม่จำเป็นต้องมีประสิทธิภาพที่สูงถ้าจะไปลงบนเย็นวันศุกร์ที่คุณกำลังจะสูญเสียทั้งวันหยุดสุดสัปดาห์ของการประมวลผลที่อาจต้นทุนคุณคู่ของสัปดาห์ที่ผ่านมามูลค่าของเวลาการประมวลผล (เมื่อเทียบกับเซิร์ฟเวอร์ในการประมวลผลหลักเพียงอย่างเดียวของคุณ) . คุณอาจต้องการพิจารณาวางเซิร์ฟเวอร์งานของคุณในสภาพแวดล้อมที่สมดุลโหลดสำหรับความพร้อมสูง

การติดตั้งขั้นพื้นฐาน

การตั้งค่าพื้นฐานสำหรับเซิร์ฟเวอร์งานของเราจะประกอบด้วยสิ่งที่ฉันเรียกอย่างใดอย่างหนึ่งของเซิร์ฟเวอร์ปวกเปียกของฉัน (ที่เป็น nux Li, ม. ySql, P HP) รหัสที่ใช้ในงาน Thea จริงจะทำงานออกมาว่างานที่จะสามารถทำงานโดยการติดต่อกับฐานข้อมูลที่มีงานระบบการควบคุม ต่อมาเมื่อเราสามารถสร้างบริการเว็บและมือจริงออกงานมากกว่าที่มีคนงานจะทำงานหนักของตัวเอง แต่ตอนนี้เราจะยังคงใช้ หลักการ KISS (Keep มัน Simple, Stupid!)

ดังนั้นจะช่วยให้สร้างสาม mySQL ตารางที่จะจัดการกับงาน เหล่านี้จะเป็นงาน ``, `` jobRecords และ jobResults `

ตารางงาน ที่นี่ผมใช้ SQL บัดดี้ ทางเลือกน้อยมากที่จะ phpMyAdmin เพียงเพราะมันง่ายต่อการติดตั้งบน CentOS (สำหรับคนอื่น ๆ ดูที่: 10 ทางเลือกที่ดีในการ phpMyAdmin )

ตารางนี้จะประกอบด้วย 5 ฟิลด์ง่าย

  • ID: ระบุตัวตนของงาน
  • ชื่อ: สามารถเป็นลูกค้าอ้างอิงหรือหมายเลขของตัวระบุอื่น ๆ
  • สถานะ: คุณจำเป็นต้องรู้ว่างานเป็นที่เช่น
    • 0: ยังไม่ได้เริ่มต้น
    • 1: ที่เลือกขึ้น
    • 2: สำเร็จแล้ว
  • started_by: ใครเริ่มทำงานหรือไม่ นี้ไม่จำเป็นอย่างสิ้นเชิง แต่ดีที่มี ผมขอแนะนำให้คนงานติดตามตามที่อยู่ IP ของพวกเขาในเครือข่ายของคุณ
  • started_at: เมื่อไหร่ที่คนงานเริ่มงานหรือไม่ โดยการติดตามงานที่ยังไม่ได้เสร็จสิ้นภายในจำนวนครั้งที่เรารู้ว่าเราต้องไปรับงานอีกครั้งและเริ่มต้นการประมวลผลโดยผู้ปฏิบัติงานอื่น คนงานสามารถหยุดการประมวลผล / go ครับสำหรับจำนวนเหตุผลใด ๆ , ไฟดับ, ความผิดพลาดของการสูญเสียเครือข่ายอื่น ๆ

มันเป็นวิธีง่ายตารางนี้อาจจะขยายสาขาเพิ่มอีกไม่กี่เพื่อให้สามารถติดตามสถิติคอลัมน์เวลาเสร็จสิ้นเพื่อดูว่านานเอางานเคาน์เตอร์เพื่อดูจำนวนคนงานที่หยิบขึ้นมาสมัครงาน (ชัดตอบสนองความต้องการนี​​้มีแนวโน้มที่จะ 1), ลำดับความสำคัญงาน, รายชื่อสามารถไปบนและบน ในสถานการณ์ที่ซับซ้อนมากขึ้นงานก็จะเป็นไปได้ที่จะระบุว่าหน่วยความจำของผู้ปฏิบัติงานจะต้องสามารถเข้าถึง (และมีเพียง แต่ใช้แรงงานที่เหมาะสม) หรือแม้กระทั่งสิ่งที่ประเภทของผู้ปฏิบัติงานจะต้อง

ช่วยเพิ่มตำแหน่งงานตัวอย่างไม่กี่:

ตำแหน่งงานเช่น

ตารางต่อไปอีกครั้งจะค่อนข้างง่ายที่จะเข้าใจเหล่านี้บันทึกงานของเรา พวกเขาจะเชื่อมโยงกับตารางงานหลักตามคอลัมน์ `jobs_id` ทำขึ้นจากตารางนี้มากขึ้นอยู่กับข้อมูลที่คุณจำเป็นต้องจ่ายให้กับคนงานของคุณจะช่วยให้ทำตัวอย่างง่ายๆที่เรามีสี่คอลัมน์:

  • ID: ID ของระเบียน
  • ชื่อ: ชื่อของบุคคล
  • ที่อยู่: ที่อยู่ของบุคคล
  • jobs_id: รหัสงานที่บันทึกนี้จะเชื่อมโยงกับ

ตารางที่สามและครั้งสุดท้ายประกอบด้วยตารางผลก็มีมากเหมือนกันทำขึ้นเป็นตารางบันทึกของเราและมีการเพิ่มของบางคอลัมน์อาจจะเป็นส่วนหนึ่งของตารางบันทึก:

  • job_record_id: Link ผลกับตารางงาน
  • ผล: ข้อมูลผลการ

... และนั่นคือทั้งหมดที่คุณต้องการสำหรับการควบคุมงาน! (แม้จะอยู่ในระดับขั้นพื้นฐานมาก) ในกรณีของฉันฉันชี้ไปยังตารางที่มีข้อมูลของฉันไปที่ขั้นตอนการตั้งอยู่อีก แต่นี้อาจเคยได้อย่างง่ายดายเพียงไฟล์พารามิเตอร์ที่จะใช้รหัสจำลองคุณชื่อมัน

การเลือกงาน

ตามที่ระบุไว้ก่อนหน้านี้คนงานจะดำเนินการจัดการงานของเราสำหรับเราในขณะนี้ดังนั้นเราต้องทำจริงๆคือการหางานที่ต้องการการประมวลผลและได้รับข้อมูล วิธีที่เราจะทำเช่นนี้? ดีเลือกเกณฑ์การเลือกงานของเราและมองหางานใน SQL ที่ฉันได้ดังต่อไปนี้:

  1. ใช้งานใด ๆ ที่ไม่ได้ทำเครื่องหมายว่าเ​​สร็จสมบูรณ์ แต่จากคนงานของเราและตั้งพวกเขา (แทน ME__ __ กับตัวระบุที่ง่ายที่สุดที่จะเป็นที่อยู่ IP):
      UPDATE `ตำแหน่งงานที่ SET` สถานะ `= 0 WHERE` สถานะ `= 1 และ` started_by `= __ ME__; 
  2. โดยใช้เก​​ณฑ์การเลือกงานของเราให้เลือกสมัครงานและบอกระบบการควบคุมที่ผู้ปฏิบัติงานนี้คือการจัดการกับมันได้
      UPDATE `ตำแหน่งงานที่ SET` สถานะ `= 1,` started_by `= __ ME__,` started_at `= NOW () WHERE` สถานะ `= 0 หรือ
     (`สถานะ` = 1 และ `started_at`> DATE_SUB (NOW (), INTERVAL HOUR X)) ORDER BY `id` ASC; 

    โดยงานโลภที่ยังไม่ได้ส่งกลับผลลัพธ์ในจำนวนครั้งที่เรามั่นใจว่างานทั้งหมดจะถูกเรียกใช้ในกรณีที่คนงานทำงานล้มเหลวหรือไป AWOL

  3. ไปคว้ารายละเอียดตำแหน่งงานตามระเบียนของตัวเอง:
      SELECT * FROM `` WHERE งาน `started_by` = __ LIMIT ME__ 1;
     SELECT * FROM `` WHERE job_records `id` = __ JOBID__; 

เมื่อเสร็จสิ้นการสมัครงานเราแทรกระเบียนผลของเราและทำเครื่องหมายงานว่าเสร็จสมบูรณ์ จำเอาไว้เป็นงานที่สามารถระงับ / เวลาใดก็ได้อนุญาตให้มีการทนทานในสคริปต์ของคุณบาง มันอาจจะมีที่งาน suspends ครึ่งทางผ่านการปรับปรุงระบบการควบคุมงานเพื่อให้ตรวจสอบจำนวนของระเบียนในงานและจำนวนของผลลัพธ์ที่บันทึกไว้กลับไปที่ระบบการควบคุมงานจะเป็นไปอย่างชาญฉลาด

นอกจากนี้ในขณะนี้แสดงให้เห็นว่างานที่สามารถเลือกและการจัดการจากกรอบ SQL-แบบสอบถามที่คุณควรจริงๆจะ สรุป การควบคุมงานของคุณเพื่อที่ว่าถ้าคุณตัดสินใจที่จะเปลี่ยนไปใช้บริการเว็บ, ระบบไฟล์ที่ใช้ XML , หรืออื่น ๆ จำนวนของระบบจะไม่ส่งผลกระทบต่อรหัสข้างต้นมัน

การกำหนดค่าสมัครงาน

ด้านต่อไปที่จะต้องพิจารณาคือขนาดของงานและการกำหนดค่า โดยการเล่นกับการกำหนดค่าสมัครงานที่เราจะสามารถหยุดความสมดุลที่ดีระหว่างความเร็วจำลองกระบวนการและความน่าเชื่อถือ ใช้สถานการณ์ OFA คู่:

  1. งานใช้เวลา 1 วันในแต่ละที่จะเรียกใช้: นี่หมายความว่าคนงานของคุณต้อง 15 วันในการประมวลผลแต่ละงาน (จำ 10% ของพลังงานสำหรับ 2/3rds ของเวลา) นี้ไม่ชัดเจนการกำหนดค่าที่ฉลาดขนาดงานของคุณเป็นวิธีที่มีขนาดใหญ่เกินไป! มันจะใช้เวลาอย่างน้อยสองครั้งเวลาที่จะได้งานประมวลผลของผู้ปฏิบัติงานที่เริ่มต้นควรจะไป AWOL (เวลาที่จะรับว่ามันไม่ได้กลับผลบวกกับเวลา reprocessing) ในอุดมคติของคุณจะมีอย่างน้อยหนึ่งงานเต็มล้างได้อย่างง่ายดายโดยสิ้นสุดระยะเวลาการใช้งานในแต่ละระยะยาวที่ทางคุณเก็บตำแหน่งงานฟ้องมากกว่าและที่เลวร้ายที่สุดกรณีที่สมัครงานจะใช้เวลาสองวันในการขั้นตอนแรกควรจะไปที่ขาดหายไป
  2. งานใช้เวลา 1 นาทีในการทำงาน: นี่หมายความว่าคนงานของคุณใช้เวลาประมาณ 15 นาทีในการทำงานแต่ละงาน ขณะนี้เริ่มอาจดูเหมือนอุดมคติที่คุณได้รับการประมวลผลการทำงานเพิ่มเติมในช่วงเวลาอาหารกลางวันอาหารว่างการประชุม ฯลฯ สถานการณ์นี้จะทำให้ความเครียดในพื้นที่อื่น ๆ ของระบบของคุณและนำเสนอปัญหาของตัวเอง ตัวอย่างเช่นตอนแรกมีอัตราส่วนการตั้งค่าเวลาของคุณ / การประมวลผลจะไปทางขวาลงดังนั้นการสูญเสียประสิทธิภาพของระบบ เครือข่ายของคุณเป็นไปได้ข้อมูลสตรีมมิ่งงานอย่างต่อเนื่องไปยังเจ้าหน้าที่ผู้ปฏิบัติงานต่างๆที่น่าผิดหวังที่เป็น dong วันของพวกเขาทำงานวัน คุณยังจะวางสายพันธุ์เพิ่มเติมเกี่ยวกับเซิร์ฟเวอร์ในการประมวลผลงานของคุณเป็นมันมีจานออกจำนวนมากและจำนวนชิ้นเล็ก ๆ ของการทำงานเป็นประจำ สุดท้ายในสถานการณ์เช่นนี้หากเซิร์ฟเวอร์สมัครงานของคุณไปลงที่คุณกำลังจะสร้างกลับเข้าสู่ระบบใหญ่ของการทำงานไม่เสร็จสมบูรณ์ในขณะที่งานใหญ่ได้จากการประมวลผลอย่างต่อเนื่องไม่รู้ว่าเซิร์ฟเวอร์สุขสันต์งานได้ประสบปัญหา

ในความเป็นจริงจะไม่มีการกำหนดค่าที่เหมาะสำหรับการตั้งค่าอย่างใดอย่างหนึ่งตารางของคุณมากขึ้นอยู่กับทรัพยากรที่มีประเภทของงาน, งานที่ต้องการเวลาตอบสนองความสามารถของเครือข่ายและอื่น ๆ อย่างไรก็ตามแนวทางที่จะเป็น:

  • งานขนาดเพื่อให้ผู้ปฏิบัติงานแต่ละคนจะสามารถรับผ่านงาน 3-4 อย่างน้อยก็ในช่วง 15 ชั่​​วโมง (ที่ยาวที่สุดในช่วงเวลาที่จะได้ใช้งาน)
  • เล่นกับขนาดของงานเพื่อให้เวลาการติดตั้งที่เป็นนัยสำคัญอย่างเป็นธรรมเมื่อเทียบกับระยะเวลาในการประมวลผล (คำนึงถึงจุดด้านบน)
  • ถ้างานไม่เสร็จสมบูรณ์ในจำนวนสองเท่าของเวลาที่ (อาจจะน้อยกว่า) ที่คุณคาดหวังที่จะทำให้เสร็จคิดว่า AWOL ไปของมันและเริ่มต้นการประมวลผลแล้วกับคนงานอื่น ซึ่งหมายความว่าคุณอาจต้องรอถึงสามครั้งความยาวปกติของงานมันจะเสร็จสมบูรณ์ (อาจจะนานกว่านั้นหากงานที่ตามมาล้มเหลว) คุณอาจต้องการลดเวลานี้ แต่ระวังไม่ให้ลดมันมากเกินไปในขณะที่คุณอาจเริ่มต้นการทำซ้ำงานการประมวลผลอย่างสม่ำเสมอ
  • งานควรจะเป็นอิสระจากความต้องการภายนอกให้มากที่สุด เซิร์ฟเวอร์งานเช่นควรได้รับการติดต่อในช่วงเริ่มต้นและจุดสิ้นสุดของงานทุก
  • ไม่เปียกโชกเครือข่ายของคุณนี้จะมีสองผลกระทบเชิงลบ, พนักงานกลางวันของคุณจะพบการใช้เครือข่ายทำลายและปัญหาที่เกิดขึ้นอาจจะมีประสบการณ์กับการเชื่อมต่อระยะเวลาออกปัญหาที่จะได้รับที่เลวร้ายยิ่งในขณะที่คุณปรับขนาดตารางของคุณ
  • งานตรวจสอบให้แน่ใจสามารถทำงานบนงานของคุณ ถ้างานที่เป็นหน่วยความจำมากเกินไปงานหนักหรือพื้นที่ว่างดิสก์ที่เข้มข้นจะเริ่มยกเลิกและสิ่งเดียวที่คุณจะสังเกตเห็นเป็นแบบเลื่อนในจำนวนของงานประมวลผลด้วยเหตุผลที่แท้จริงว่าทำไม

ผลการค้นหาจากการส่งงาน

เมื่อส่งผลของงานเป็นสิ่งสำคัญเพื่อตรวจสอบว่าผลลัพธ์ที่ยังไม่ได้รับการแสดงความคิดเห็นของผู้ปฏิบัติงานอื่นโดยเฉพาะหากผู้ปฏิบัติงานในปัจจุบันได้รับอยู่เฉยๆบางครั้ง

เมื่อผลการแสดงความคิดเห็นให้แน่ใจว่าจำนวนของผลลัพธ์ที่ตรงกับจำนวนของระเบียนภายในงาน

ตามที่ระบุไว้ก่อนหน้านี้และไม่สามารถไปเน้นการสร้างความอดทนความผิดในการดึงงานและการส่งผล คนงานสามารถ (และมักจะ) เข้าสู่โหมด suspend ที่ส่วนใหญ่ไม่สะดวกครั้งนี้และจะต้องมีการรองรับสำหรับ นอกจากนี้อีกครั้งหนึ่งสรุปผลลัพธ์ของคุณออกไปจะช่วยส่งให้ความสำคัญสำหรับการเปลี่ยนแปลงในอนาคตที่จะมีระบบการควบคุมงานของคุณง่ายขึ้นมากที่จะจัดการกับ

ข้อมูลอย่างย่อ

ในsectionÂนี้เราได้มองที่สิ่งที่เซิร์ฟเวอร์ควบคุมงานต้องทำและวิธีการที่จะได้รับระบบพื้นฐานมากขึ้น เราจะกล่าวถึงวิธีการดึงงานจากระบบการควบคุมและวิธีการที่ดีที่สุดในการกำหนดค่างานที่จะได้รับส่วนใหญ่ของเราของระบบกริดของสำนักงาน จนจบวรรคหนึ่งหรือสองเกี่ยวกับการส่งผลกลับไปยังเซิร์ฟเวอร์การควบคุมงานได้นำเสนอ

  • เซิร์ฟเวอร์ควบคุมงานบริหารงานและทำให้มั่นใจว่าทุกหน่วยงานจะเสร็จสมบูรณ์
  • โดยการสรุปงานของคุณส่งผลให้เลือก / เราสามารถเปลี่ยนเทคโนโลยีของเซิร์ฟเวอร์ควบคุมได้โดยไม่มีปัญหามาก
  • การกำหนดค่าการงานของคุณเพื่อให้แน่ใจว่าพวกเขาจะทำงานได้อย่างรวดเร็วและมีประสิทธิภาพโดยไม่ต้องใส่ความดันมากเกินไปในโครงสร้างพื้นฐานเครือข่ายของคุณและไม่ซ้ำงานการประมวลผลอย่างสม่ำเสมอ
  • ตรวจสอบให้แน่ใจว่าคุณได้สร้างความผิดพลาดและข้อผิดพลาดcheckingÂเป็นประจำของคุณหรือผู้ปฏิบัติงานสามารถระงับและดำเนินการและส่วนใหญ่ไม่สะดวกครั้ง อย่าลืมตรวจสอบว่าผลที่ได้รับอยู่แล้วการแสดงความคิดเห็นของผู้ปฏิบัติงานอื่น

ครั้งต่อไป

ใน ส่วนที่ 3 เราจะสร้างเครื่องประมวลผลของเราเสมือนและการตั้งค่าเครื่อง Windows ของเราที่จะกลายเป็นแรงงานไม่ได้ใช้งานตลอดเวลา

การคำนวณตาราง Office ที่ใช้สภาพแวดล้อมเสมือนจริง - ส่วนที่ 5

โดย , วันศุกร์ 4 ธันวาคม 2009 11:03

การแนะนำ

ผมทำงานใน บริษัท ที่เราเรียกใช้งานชุดการประมวลผลหลายล้านระเบียนของข้อมูลในแต่ละวันและฉันได้รับเมื่อเร็ว ๆ นี้เกี่ยวกับการคิดทุกเครื่องที่นั่งรอบในแต่ละวันและทุกการทำอะไรเป็นเวลาหลายชั่วโมง มันจะไม่ดีถ้าเราสามารถใช้เครื่องที่เพื่อหนุนพลังการประมวลผลของระบบของเราหรือไม่ ในชุดของบทความนี้ฉันจะมองผลประโยชน์ที่อาจเกิดขึ้นจากการจ้างสำนักงาน กริด ใช้สภาพแวดล้อม virtualised

ใน ส่วนที่ 4 เรามองที่การใช้เครื่องมือเพื่อให้มั่นใจว่าเรากำลังใช้รุ่นล่าสุดของแหล่งที่มารหัสและข้อมูลเพื่อให้ผลลัพธ์ที่ได้มักจะ up-to-date ด้วยข้อมูลทางธุรกิจใหม่ล่าสุดและตรรกะ

พื้นฐานการใช้งาน

ก่อนที่จะปรับใช้ระบบกริดของคุณหากมีสิ่งหนึ่งที่คุณทำและสิ่งหนึ่งเพียงอย่างเดียวก็มาตรฐานระบบปัจจุบันของคุณ! ไม่ว่าสิ่งที่คุณบอกเพื่อนร่วมงานเกี่ยวกับวิธีการทำงานมากเป็นพิเศษในระบบของคุณจะไปทำจนกว่าคุณจะมีตัวเลขการสำรองข้อมูลนี้ขึ้นค้ำประกันของคุณไม่มีมีอะไร ดังนั้น

  • จำนวนระเบียนที่คุณสามารถดำเนินการในปัจจุบัน? ต่อวัน? ต่อชั่วโมง?
  • นานเท่าไหร่โดยปกติจะใช้เวลาในการหันไปรอบ ๆ งาน?
  • เท่าไหร่คุณมีความจุมากขึ้น?

นอกจากนี้ยังมีคำถามเพิ่มเติม:

  • หากเซิร์ฟเวอร์การประมวลผลของคุณ (หรืออย่างใดอย่างหนึ่งของเซิร์ฟเวอร์ในการประมวลผลของคุณ) ลงไปวิธีการนี​​้จะส่งผลกระทบต่อความสามารถของคุณคุณจะได้รับการตาย?
  • อะไรที่คุณหวังว่าข้อได้เปรียบ / คาดว่าจะได้รับจากระบบกริด?
  • เครื่องที่ทำงานของคุณมีความสามารถในการเรียกใช้งาน?
  • จะมี (หรือสามารถดูตำแหน่งงานที่คุณจะแปลง) ของคุณเพื่อ wrok ในรูปแบบของการทำงานนี้หรือไม่?

จุดที่สำคัญสุดท้ายคือการใช้เวลาของคุณเกี่ยวกับการเปลี่ยนแปลงที่สำคัญใด ๆ เช่นนี้ อัพเดทรหัสการประมวลผลของคุณให้ทำงานโดยใช้วิธีการมาตรฐานใหม่อีกครั้ง อาจตั้งค่าเซิร์ฟเวอร์ในการประมวลผลของคุณทำงานเสมือนเครื่องหลังจากที่ทุกเซิร์ฟเวอร์ในการประมวลผลของคุณจะเป็นเพียงผู้ปฏิบัติงานอื่น (เพียงอย่างใดอย่างหนึ่งที่มีประสิทธิภาพมากค่อนข้าง) อนุญาตให้กระบวนการใหม่ในการชำระ

การปรับใช้

ข้อเสนอแนะของฉันจะปรากฏเป็นสำนักงานหนึ่งวันหยุดสุดสัปดาห์จะทำการติดตั้งและการติดตั้งทั้งหมด ทำเช่นนี้เพียงสองสัปดาห์ก่อนวันหยุดของและออกอื่น ๆ เพื่อให้ขากรรไกรที่ไม่ดีที่จะจัดการกับผลที่ตามมา ... อาจจะไม่ ...

การปรับใช้สำหรับระบบเช่นนี้จะต้องช้า แม้จะมีความมันเป็นที่ค่อนข้างง่ายต่อการติดตั้งระบบนี้จะส่งผลกระทบต่อโครงสร้างพื้นฐานสำนักงานทั้งหมด (ดีดิจิตอลอย่างใดอย่างหนึ่ง) ของคุณ ประการแรกแผ่ออกไปสองสามเครื่องในเวลาที่เครือข่ายตรวจสอบวิธีการปฏิบัติงานเป็นเจ้าภาพดำเนินการในแต่ละวันต่อวัน คุณอาจจำเป็นต้องปรับเปลี่ยนการกำหนดค่างานของคุณในการตอบสนองต่อการค้นพบของคุณ

เมื่อระบบมีการตกลงกับไม่กี่เครื่อง (ให้พูด 10% ของทุกเครื่องใช้สำนักงานเช่น 5) ให้การจราจรตรวจสอบเครือข่ายและเครื่องโฮสต์performance.Âมาตรฐานถัดไปอีกครั้งคุณควรจะประมวลผลงาน 33% กว่าเกณฑ์มาตรฐานครั้งแรกของคุณ วันนี้เป็นเช่นนั้นหรือว่าคุณจะอยู่ที่อย่างน้อยในสนามเบสบอลนี้ ถ้าไม่ตรวจสอบสิ่งที่เกิดขึ้นก่อนที่จะย้าย ซ้ำรอบนี้จนกว่าคุณจะมีความสุขได้ทุกเครื่องในสำนักงานที่ทำงานได้โดยไม่ต้องฆ่าประสิทธิภาพของเครื่องของแต่ละบุคคลหรือบดเครือข่ายของคุณหยุดนิ่ง

ทุกครั้งที่ให้การเปรียบเทียบแม้หลังจากการใช้งานทั้งหมดจะทำ ตรวจสอบวิธีการปรับปรุงรหัสใหม่มีผลต่อความเร็วของระบบของคุณให้ตรวจสอบคนงานทั้งหมดมีการรายงานและการประมวลผลในงาน ช้า (ช้ามาก) เพิ่มค่างานของคุณที่จะได้รับที่ดีที่สุดจากคนงานและเครือข่ายของคุณ

หยุด!

เกิดอะไรขึ้นหากคุณต้องการหยุดการทำงานของคุณจากการทำงานที่บางครั้ง? พวกเขาทั้งหมดออกมีการทำงานปฏิรูปและพยายามที่ดีที่สุดในการประมวลผลข้อมูลเช่นแมลงหิว คำตอบอาจดูเหมือนชัดเจน แต่มูลค่าของมันเพิ่มในกรณีที่มองข้าม เพียงแค่แก้ไขสคริปต์ในการประมวลผลของคุณกับ exit (0) หรือตาย () หรือบางคำสั่งอื่น ๆ ที่จะฆ่างานการประมวลผลของคุณ เหตุผลสำคัญว่าทำไมเรามักจะพยายามที่จะปรับปรุงเพื่อการประมวลผลสคริปต์ล่าสุดก่อนที่จะดำเนินการใด ๆ !

ระบบสาธิต

เพื่อที่จะเขียนชุดของบทความสั้น ๆ นี้ฉันสร้างตารางขนาดเล็กมากแสดงให้เห็นถึงเทคโนโลยีและวิธีการ ผมอ่าน ๆ บทความ tutorials, และใช้เครื่องมือต่างๆในการติดตั้งและตรวจสอบสิ่งที่เกิดขึ้น ฉันได้โดยไม่ไปออกและอิ่มตัวสำนักงานทั้งที่มีการจราจรและไม่ได้ฉันได้เข้าถึงพนักงาน PC ปกติสมาชิกเพื่อดูว่าประสิทธิภาพการทำงานที่โฮสต์ได้รับผลกระทบ

ระบบการสาธิตของฉันคือการอ่อนน้อมถ่อมตนมากอย่างแน่นอน ผมใช้เดสก์ทอปปกติของฉันตั้งค่าเป็นเซิร์ฟเวอร์ควบคุมงาน เกี่ยวกับเรื่องนี้ฉันได้ติดตั้ง mySQL เซิร์ฟเวอร์ที่ติดตั้งตั้งค่าเป็นหลักในการทำแบบจำลอง, PHP , และเชื่อมโยงผ่าน SVN apache (สำหรับการเข้าถึงผ่านทาง VM ของผู้ปฏิบัติงาน)

ฉันแล้วสร้างเครื่องของผู้ปฏิบัติงานเกี่ยวกับ CentOS VirtualBox เมื่อปี 6 เก่าแล็ปท็อปของ Windows XP ผมตั้งค่างานที่กำหนดเวลาตามที่ระบุไว้หลังการคัดลอก VM บนเครื่องและให้มันไป

เครื่องเสมือนถูกจัดตั้งขึ้นด้วย PHP, โค่นล้มและ MySQL ฉันจะตรวจสอบออกเป็นสาขาที่ชื่อว่า 'งาน' จากงานการควบคุมพื้นที่เก็บข้อมูลเซิร์ฟเวอร์ของฉันและทำให้แน่ใจว่ามันจะได้รับการปรับปรุงโดยใช้ 'svn update' ต่อไปฉันติดตั้ง MySQL เป็นทาสและการตรวจสอบว่าข้อมูลถูกจำลองจาก MySQL บนเซิร์ฟเวอร์ควบคุมงานลงไปที่ VM ของผู้ปฏิบัติงาน หลังจากที่ทั้งหมดนี้ผมติดตั้งสคริปต์ทุบตีและงาน cron

การประมวลผลสคริปต์ของฉันพื้นไปตามสายของวันนี้ (สิ่งที่ง่ายมาก):

  • อ่านในฟิลด์ชื่อ
  • นับจำนวนของชื่อที่คล้ายกันในตารางจากแหล่งข้อมูลที่จัดขึ้นใน VM
  • นับจำนวนของชื่อเป็นชื่อข้างต้น แต่การแยกด้วยช่องว่าง (เช่นชื่อฅัว, กลาง, นามสกุล)
  • ซ้ำขั้นตอนนี้ 1,000 ครั้ง

งานแต่ละเวลาประมาณ 20 นาทีในการทำงาน จนถึงจุดหนึ่งผมเปิดสำเนาหลาย VM ของผู้ปฏิบัติงานเกี่ยวกับแล็ปท็อปของ Windows และดูงานที่ถูกตรวจสอบโดยแต่ละคนที่อยู่ IP ณ จุดนี้ผมยังยืนยันว่าการทำแบบจำลองโดยอัตโนมัติเริ่มต้นใหม่

ออกจากแล็ปท็อปไปว่างส่งผลให้คนงานที่เริ่มต้นในการประมวลผลงานจากเซิร์ฟเวอร์ควบคุมงาน เมื่อกลับมาทำงานการใช้งานแล็ปท็อปมีการล่าช้าประมาณ 30-60 วินาทีนี้เป็นจำนวนเงินที่ยุติธรรมของเวลาและพนักงานจะต้องมีการทำให้ทราบว่าเครื่องของพวกเขาอาจหยุดการทำงานชั่วคราวในขณะที่ระยะทางสั้น ๆ เมื่อกลับไปยังเครื่อง ใหม่กว่านี้เครื่องอาจไม่ได้หยุดยาวนี้ ประโยชน์ของจำนวนเงินของการประมวลผลที่ดำเนินการโดยเครื่องเหล่านี้ในช่วงที่ไม่ได้ใช้งานจะมากกว่าที่เกินดุลทีมงานต้องรอช่วงเวลาสั้น ๆ (พูด 1 นาที) เมื่อมาถึงที่เครื่องของพวกเขาจากช่วงเช้า (ฉันมักรอนานที่นี้สำหรับ Windows Defender อัปเดตให้ใช้สถานที่) ให้พวกเขาทำตระหนักถึงเรื่องนี้ (เวลาที่มีประโยชน์ที่จะคว้ากาแฟยามเช้า!)

โดยรวมผมรู้สึกมั่นใจว่าผมได้แสดงให้เห็นเทคโนโลยีที่สามารถนำมาใช้ในการสร้างระบบดังกล่าว ผมได้แสดงให้เห็นว่าระบบดังกล่าวทำงานในขนาดเล็ก (มาก) และมีการเพิ่มเติมบางการทดลองอาจจะปรับขนาดขึ้นใช้ทรัพยากรของเครื่องใช้สำนักงานของ ถ้าฉันไม่ได้รับไปยังจุดของการทำเช่นนี้ผมจะสนใจมากที่จะทราบ / เห็นเมื่อคนอื่นไม่

สรุปผลการวิจัย / ประเมินผล

ขั้นตอนที่ชัดเจนต่อไปจะเป็นจริงได้เช่นโลกจริงและเริ่มต้นในการปรับใช้ระบบเช่นนี้ในสภาพแวดล้อมที่สำนักงานและดูสิ่งที่เกิดขึ้น ขอให้ธุรกิจที่จะกระทำการนี​​้โดย บริษัท ที่เห็นได้ชัดทางเพื่อพิสูจน์เทคโนโลยีและประสิทธิภาพอาจเป็นเพียงเล็กน้อยยาก ตาราง / คำนวณแบบกระจายเป็นที่นิยมมากเป็นวงกลมบางและมีการใช้งานขนาดใหญ่บาง (BIONC, SETI @ Home, พับ @ Home, ฯลฯ ) ฉันไม่ได้ แต่หาขนาดที่เล็กลงและระบบที่เรียบง่ายเช่นนี้ในการค้นหาของฉันที่สามารถรีดออกภายในสภาพแวดล้อมที่ทำงาน

ฉันสร้างระบบฟรีโดยทั่วไปการใช้ซอฟต์แวร์โอเพนซอร์สเป็นส่วนใหญ่และเครื่องมือที่สามารถใช้ได้ในเกือบทุกสำนักงานใด เทคโนโลยีที่ถูกแสดงให้เห็นโดยทั่วไปและแสดงการดำเนินการและการทำงานตามที่คาดไว้ หวังว่าฉันมีการแสดงที่มีงานไม่มากและมีการติดตั้งง่ายมากที่คุณสามารถปรับใช้กริดสำนักงานระบบคอมพิวเตอร์ที่มีประสิทธิภาพ, A, ราคาถูกและสามารถปรับขยายได้ทั้งหมดในเวลาเดียวกัน

เมื่อระบบสามารถและทำงานมีเกือบสิ้นกับปริมาณของการปรับแต่งและการปรับปรุงที่คุณสามารถทำไม่มี สำหรับสถิติการเปรียบเทียบตัวอย่าง / คุณสามารถเข้ามาแสดงความคุ้มค่าของระบบดังกล่าวทุกวัน เครื่องใหม่ที่สามารถเพิ่มได้อย่างรวดเร็วและง่ายดายเป็นและเมื่อพวกเขามาถึงที่มีการอัพเกรดฮาร์ดแวร์ที่มีอยู่เพื่อการประคบประหงมพลังการประมวลผลของคุณ

ฉันหวังว่าคุณได้สนุกกับการอ่านชุดของบทความนี้และให้คุณได้อาหารสำหรับความคิดในการทำงานของระบบกริดสำนักงาน วิธีการแก้ปัญหานำเสนอที่นี่จะไม่จำเป็นต้องทำงานในทุกสถานการณ์ แต่ควรจะปรับตัวเพื่อให้คุณสามารถได้รับการประมวลผลข้อมูลของคุณทำได้โดยใช้วิธีการแก้ปัญหาของคุณเอง

กรุณาอย่าลังเลที่จะส่งความคิดเห็นใด ๆ ที่แก้ไขหรือปรับปรุงและฉันจะทำของฉันดีที่สุดเพื่อให้บทความมีการปรับปรุงเพื่อให้ตรงกับวันนี้













ธีมพาโนรามาโดย Themocracy

7 ผู้เข้าชมออนไลน์ในขณะนี้
5 แขก, 2 บอท, 0 สมาชิก
ผู้เข้าชมสูงสุดวันนี้: 13 ที่ 09:36 น. UTC
เดือนนี้: 40 ที่ 23-05-2012 03:33 น. UTC
ในปีนี้: 69 ที่ 27-02-2012 09:56 น. UTC
เวลาทั้งหมด: 130 ที่ 28-03-2011 10:40 UTC