หมวดหมู่ : การคำนวณตาราง

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

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

การแนะนำ

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

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

ใช้รหัสล่าสุด

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

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

วิธีแรกจะเป็นเพียงแค่เชื่อมต่อกับเซิร์ฟเวอร์การควบคุมของเรางาน (ผ่าน Samba, FTP, หรือคล้ายกัน) และดึงลงรุ่นล่าสุดของรหัสที่ ไม่มากอย่างมีประสิทธิภาพ แต่มันจะทำงานได้ ช่วยให้การปรับปรุงในที่ค่อนข้างวิธีการเกี่ยวกับการสร้างสคริปต์ rsync และใช้ที่ในแต่ละครั้งแทน? หรือสิ่งที่เกี่ยวกับการวางสคริปต์การประมวลผลใหม่ล่าสุดของเราในการโค่นล้มการตรวจสอบออกรหัสครั้งแรกแล้วเพียงแค่การปรับปรุงโค้ดของเราในการทำงาน (แต่ละ svn update )?

ในที่สุดเราอาจจะจบลงด้วยสคริปต์ทุบตี (เรียกโดย cron ทุกๆ 10 นาที) ซึ่งมีลักษณะเป็นง่ายๆเป็นนี้ :

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

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

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

ใช้ข้อมูลล่าสุด

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

ถือคุณมีม้า! ถ้าแหล่งข้อมูลของฉันมีขนาดใหญ่มาก? อย่างนี้จริงๆเป็นกรณีของการเท่าใดข้อมูลที่เราพูดได้หรือไม่ มันอาจจะเป็นค่าใช้จ่ายมีประสิทธิภาพมากขึ้นที่จะติดตั้งเพิ่มเติมฮาร์ดไดรฟ์ขนาดใหญ่เป็นแต่ละเครื่องมากกว่าที่จะซื้อเซิร์ฟเวอร์ในการประมวลผลเพิ่มเติม นี้เป็นคำถามของงบประมาณและขึ้นอยู่กับธุรกิจที่จะตัดสินใจ มันอาจจะแหล่งข้อมูลของคุณมีขนาดใหญ่เพื่อที่ว่าทำไม่ได้เพียงเพื่อให้จำนวนของข้อมูลที่ผู้ปฏิบัติงานในเครื่องของคุณ ในกรณีที่สิ่งที่คุณจะทำอย่างไร ดีที่เราสามารถมองไปที่โทรเซิร์ฟเวอร์ข้อมูลท้องถิ่น แต่นี้อาจทำให้เกิดปัญหากับเครือข่าย ในกรณีนี้ระบบกริดเช่นนี้อาจจะกลายเป็นไม่สมจริงเพื่อรวมไว้ในสภาพแวดล้อมที่สำนักงานของคุณ นอกจากนี้ยังอาจเป็นได้ว่าคุณสามารถมองเข้าไปในกลยุทธ์การทำงานทางเลือกเป็นเพียงตัวอย่างเท่านั้นโทรแรงงานของคุณ 20:00 - 06:00 ในแต่ละคืนและ / หรือการควบคุมปริมาณการร้องขอข้อมูลแหล่งที่มา

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

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

นี่คือวิธีที่ฉันจะตั้งค่าเซิร์ฟเวอร์สาธิตของฉัน การตั้งค่าการจำลองแบบผมทำตามคู่มือบนเว็บไซต์ของ MySQL ( การตั้งค่าการทำแบบจำลอง ) และภายใน 20 นาทีผมมีคนงานของฉัน inital งานจำลองการควบคุมชุดข้อมูลเซิร์ฟเวอร์ สำหรับคนงานแต่ละการตั้งค่าการจำลองแบบและกระบวนการทำงานในแต่ละครั้งเมื่อ VM จะถูกคัดลอก

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

ในส่วนของบทความนี้เราได้ดูที่วิธีการที่ง่ายและไม่เจ็บปวดก็คือการเก็บรหัสของการประมวลผลของคุณให้ทันสมัย​​โดย using rsync หรือ subverion (SVN) ที่จะทำงานและลดการจราจรของเครือข่ายที่ time. เดียวกันนอกจากนี้เรายังกล่าวถึงวิธี ในการเก็บข้อมูลแหล่งที่มาของข้อมูลที่ทันสมัย​​โดยให้มันหยดลงไปแต่ละคนของคุณ ดังนั้นเรามั่นใจว่าพื้นที่ที่เราให้ทันกับตรรกะทางธุรกิจและข้อมูลในระบบกริดของเราที่สำนักงาน มีอย่างเห็นได้ชัดจะเป็นทางเลือกที่นับไม่ถ้วนที่จะดำเนินการงานเหล่านี้ แต่นี่เป็นสองตัวอย่างง่ายๆเพื่อแสดงวิธีการง่ายเป็นวิธีแก้ปัญหามาโดย

เวลาถัดไป

ในส่วนสุดท้ายของชุดนี้ชื่อ aptly ส่วนที่ 5 เราจะหารือเกี่ยวกับการปรับใช้ระบบนี้เพื่อ ฉันจะสรุปสิ่งที่ได้รับการเรียนรู้และสิ่งที่ฉันจัดการเพื่อสร้าง

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

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

การแนะนำ

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

ในฐานะที่เป็น PHP นักพัฒนาฉันจะใช้เครื่องมือที่ผมใช้ในแต่ละวันคือ, Linux, mySQL , PHP, VirtualBox และการโค่นล้ม (SVN) แต่ฉันหวังว่าคู่มือนี้จะปรับให้เข้ากับภาษาอื่น ๆ และเทคโนโลยีก็เช่นกัน

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

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

ปรับใช้ Grid computing สำนักงานทำไม?

ประการแรกคุณอาจจะคิดว่าทำไมไม่เพียง แต่ใช้ทรัพยากรคอมพิวเตอร์เมฆเช่น แพลตฟอร์มของ Amazon EC2 ? เหตุผลที่ดีอาจจะมีหลายตัวอย่างเช่น

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

ฉันแน่ใจว่ารายการได้อย่างต่อเนื่อง แต่ผมคิดว่าพอสำหรับตอนนี้

ข้อดีของการ Grid computing สำนักงาน

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

ดังนั้น 1 เครื่องไฟ% * 10 * เวลา 2 / 3 = 0.067 การประมวลผลคือสก์ท็อป 1 ในเวลาว่างสามารถประมวลผล 6 งานเต็มรูปแบบต่อวัน

ถ้าคุณตอนนี้ระดับขึ้นนี้ใช้เวลา 15 เดสก์ท็ว่างงานเพื่อประมวลผลงานเป็นจำนวนมากต่อวันเป็นเซิร์ฟเวอร์ในการประมวลผลหลักของคุณไม่

ดังนั้นในสำนักงานของเราในการแกล้งทำเป็น 50 เครื่องเราสามารถเพิ่มพลังการประมวลผลของเราจาก 1 เซิร์ฟเวอร์ได้ถึง 4 เซิร์ฟเวอร์ในการประมวลผลแบบเต็มหรือเราอาจจะประมวลผลงาน 400 ต่อวันแทน 100

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

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

เทคโนโลยี

สิ่งที่คุณต้อง? (หรือมากกว่าสิ่งที่ไม่ถูกต้องผมใช้) :

  • เครื่องจักรสำนักงานว่าง (ในกรณีของฉันอะไหล่เก่าแล็ปท็อป Windows XP)
  • VirtualBox (หรืออื่นไคลเอ็นต์ซอฟต์แวร์ virtualisation)
  • เครื่องเสมือนกับ PHP, MySQL running ทำงานลดลง OS ที่ฉันโทรเซิร์ฟเวอร์ปวกเปียกเหล่านี้ของฉัน :)
  • เพื่อเรียกใช้งาน
  • เซิร์ฟเวอร์งาน (สามารถควบคุมเครื่องเสมือนหนึ่ง)

งานทั่วไป

ประเภทของงานที่ระบบนี้คือการออกแบบมาเพื่อทำงานเป็นดังนี้

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

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

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

สิ่งที่เราจะบรรลุ?

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

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

ฉันจะเป็นอาคาร (OK ฉันสร้างขึ้นแล้วเขียนนี้) การประยุกต์ใช้ตัวอย่างเพื่อทดสอบแนวความคิดในเครื่องท้องถิ่นที่ใช้ Windows XP และ'GridMachine'เสมือนเครื่องของฉัน เซิร์ฟเวอร์การควบคุมของฉันจะเป็นงานหลักของฉันเครื่องที่รัน Fedora 11 .

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

เวลาถัดไป

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

ตารางการคำนวณของ Office ที่ใช้สภาพแวดล้อมเสมือนจริง -- Part 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 : เมื่อไหร่ที่คนงานเริ่มงานหรือไม่ โดยการติดตามงานที่ยังไม่ได้ให้แล้วเสร็จภายในจำนวนครั้งที่เรารู้ว่าเราต้องรับงานอีกครั้งและเริ่มการประมวลผลโดยผู้ปฏิบัติงานอื่น แรงงานอาจหยุดการประมวลผล / ออฟไลน์สำหรับจำนวนเหตุผลใด ๆ ของความล้มเหลวของอำนาจ, ความผิดพลาดของการสูญเสียเครือข่ายอื่น ๆ

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

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

งานตัวอย่างเช่น

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

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

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

  • job_record_id : การเชื่อมโยงผลที่ได้กับตารางงาน
  • ผล : ข้อมูลผลการ

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

การเลือกงาน

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

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

    ตามงานที่โลภที่ยังไม่ได้ผลลัพธ์ในจำนวนครั้งที่เรามั่นใจว่างานทั้งหมดจะทำงานในกรณีของคนงาน crashing หรือจะ AWOL ที่

  3. ถัดไปคว้ารายละเอียดงานตามระเบียนที่ตัวเอง :
      SELECT * FROM`WHERE`งาน``started_by = __ME__ LIMIT 1;
     SELECT * FROM`WHERE`job_records`id`= __JOBID__; 

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

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

การกำหนดค่างาน

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

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

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

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

ส่งผลของงาน

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

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

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

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

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

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

เวลาถัดไป

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

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

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

การแนะนำ

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

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

Pre - การปรับใช้

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

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

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

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

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

การใช้งาน

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

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

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

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

Stop!

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

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

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

สรุปผล / การประเมินผล

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

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

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

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

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













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

9 ผู้เข้าชมออนไลน์ขณะนี้
5 แขก, 4 บอท, 0 สมาชิก
ผู้เข้าชมสูงสุดวันนี้ : 16 ที่ 12:59 UTC
เดือนนี้ : 19 ที่ 19-08-2011 06:09 UTC
ปีนี้ : 130 ที่ 28-03-2011 10:40 UTC
เวลาทั้งหมด : 130 ที่ 28-03-2011 10:40 UTC