Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/iw/_iw_tag_svn) [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 »SVN

הודעות מתויג: SVN

רשת המחשוב במשרד באמצעות סביבות וירטואליות - חלק 4

על ידי , יום שישי 4 דצמבר 2009 11:59

הקדמה

אני עובד בחברה שבה גמר עבודות אצווה רבים עיבוד מיליוני רשומות של נתונים מדי יום, חשבתי לאחרונה על כל מכונות יושבים בכל יום לעשות כלום במשך כמה שעות. האם לא יהיה זה טוב אם אנחנו יכולים להשתמש במכונות האלה כדי לחזק את כוח העיבוד של המערכות שלנו? במערכה זו של מאמרים אני מסתכל על היתרונות הפוטנציאליים של העסקת המשרד לרשת באמצעות סביבות וירטואליות.

ב חלק 3 יצרנו מכונה לעיבוד הוירטואלית שלנו להגדיר את Windows מכונות להיות פעיל במשרה עובדים.

הפעלת הקוד האחרונה

באופן בלתי נמנע לאחר יצירת ההיגיון עובדים העסק שלך ישתנה, באגים יימצא, קוד מהיר יותר ויעיל יותר יופק ובכך משאיר העובדים שלך ישבו סביב עיבוד נתונים באמצעות קוד מסריח הישן . כיצד, אם כן אנחנו להבטיח כי אנחנו תמיד להשתמש בגירסה העדכנית ביותר של סקריפטים עיבוד שלנו?

יש כמה דרכים פשוטות קל מאוד שנוכל לעשות את זה, החוכמה, לעומת זאת, היא להפחית את כוח העיבוד ואת תעבורת הרשת בהשגת זה. בואו נתחיל עם הפשוטה של ​​פתרונות ולשפר אותו לאט על כמה חזרות.

השיטה הראשונה יהיה פשוט להתחבר לשרת שלנו מלאה העבודה (דרך סמבה, FTP, או דומה) ולמשוך למטה את הגירסה האחרונה של הקוד. לא מאוד יעיל, אבל זה יעשה את העבודה. מאפשר לשפר את זה קצת, מה דעתך על יצירת סקריפט rsync ושימוש בכל פעם במקום? לחלופין מה לשים סקריפט האחרונה שלנו עיבוד לתוך חתרנות לבדוק את הקוד בתחילה ואז פשוט לעדכן את הקוד שלנו על כל סיבוב ( SVN עדכון )?

בסופו של דבר אנחנו יכולים בסופו של דבר עם סקריפט bash (המכונה ע"י cron כל 10 דקות) שנראה פשוט כמו זה:

  #! / Bin / sh
 אם ps ax | grep-v grep | grep php > / dev / null
 אז
     הד "עבודה בימים אלו עיבוד, יציאה"
 אחר
     הד "איוב אינו פועל, להתחיל עכשיו"
     cd / נתיב / ל / עבודה / העתקה
     עדכון svn
     PHP yourJobProcessingScript.php
 Fi 

עכשיו אנחנו יכולים להיות בטוחים כי עם כל סיבוב אנחנו בהחלט מפעיל את הקוד האחרון. אנו מבטיחים את זה על ידי עדכון בסיס הקוד שלנו כל פעם שאנחנו מבצעים לאורך והפחתת תעבורת הרשת על ידי היחידה להעביר את ההבדלים קבצים ברשת שלנו.

בהגדרת ההפגנה שלי, עשיתי בדיוק כמו לעיל. Subversion הותקן על השרת שלי את העבודה עיבוד פשוט משך את הקוד האחרונה של סניף "הפועל" באמצעות "svn עדכון". אני גם הוסיף תג מספר הגירסה עיבוד לתסריט שלי שהוחזרה באתר כחלק להחזיר תוצאות. בדרך זו יכולתי לראות את הקוד שלי היה להיות מעודכן בכל פעם העתקתי המטען שלי לתוך כלומר הסניף עובד שאני בהחלט הפעלת ה-script עיבוד האחרונה.

באמצעות הנתונים האחרונים

אם עיבוד העבודה שלך עושה שימוש במקורות נתונים ואז בשלב מסוים אלה הולכים להיות מעודכן מדי. אלא אם כן אתה קורא מקורות הנתונים באופן תכוף מאוד אתה הולך להציף את הרשת עם התנועה מיד עם העובדים שלך יתחילו להופיע להביא הכל כדי קיפאון. הפתרון שלי החלטתי שאני רוצה לעבור מקורות הנתונים שלי מסביב עם מכונות וירטואליות שלי.

החזיקו את הסוסים שם! מה אם מקורות הנתונים שלי הם ענקיים? טוב זה באמת מקרה של כמות הנתונים אנחנו מדברים? זה יכול להיות יותר חסכוני להתקין כונן קשיח גדול יותר נוספת לתוך כל מכונה מאשר לרכוש שרת עיבוד נוסף. זו שאלה של תקציב הוא עד העסק להחליט. זה אולי מקורות הנתונים שלך כל כך גדולה שלו אינו עומד על הפרק רק כדי לשמור על כמות הנתונים במכונות הפועלות שלך. אם כך מה היית עושה? גם אנחנו יכולים להסתכל קורא שרת הנתונים המקומי, אבל זה עלול לגרום לבעיות עם הרשת. במקרה זה מערכת רשת כגון זה עשוי להיות מציאותי כוללים בסביבת המשרד שלך. ייתכן גם כי אתה יכול לבדוק את אסטרטגיות חלופיות הפועלים, למשל רק קורא לעובדים 08:00-06:00 כל לילה ו / או נתונים ויסות בקשות המקור.

הלאה נניח כמות הנתונים שלנו מקורות 100GB של נתונים. ובכן כן, זה לא מעט נתונים כדי לנוע ברשת על העדכון. איך היינו להבטיח שיש לנו את העותק האחרון של הנתונים במקרה זה? Rsync היא אפשרות, אבל באופן אישי אני חושב על ידי הרצת קוד עדכנית הנתונים בשרת שלך עבודה עיבוד להגדיר זאת כמאסטר בשכפול (יומן עם סל יפה ארוכה) יכול להיות כל הכבוד:

שכפול על ידי הגדרת כל אחד העובדים שלך עד כעבד את השליטה עדכונים עבודה שרת למקורות נתונים שלך לטפטף יפה לעובדים שלך בלי גידול עצום בפעילות הרשת (כלומר, אלא אם כן אתה מבצע עדכון נתונים ענק וכל העובדים שלך בעיטה בבת אחת). זו יתרונות על פני rsync, כי אתה לא מקבל הפסקה ארוכה לפני כל עבודה, גם את העדכונים של מסדי נתונים, MySQL daemon על העובד שלך יהיה לעדכן את הנתונים בזמן עיבוד ממשיך.

כך אני מגדיר את שרת ההפגנה שלי. כדי להגדיר שכפול עקבתי אחרי המדריך באתר MySQL ( הגדרת שכפול ) ותוך 20 דקות היה לי עובד inital שלי שכפול השליטה העבודה במערך השרתים. עבור כל עובד נוסף את ההגדרות שכפול תהליך עבד בכל פעם כאשר VM הועתק.

תקציר

בחלק זה של המאמר יש לנו הסתכל כמה קל ונטול כאבים זה היא לשמור על קוד העיבוד שלך מעודכן על ידי using rsync או subverion (SVN) לעשות את העבודה ולהפחית את תעבורת הרשת על time. אותו דנו גם כמה כדי לשמור על מידע ממקור הנתונים עד עדכני, לאפשר לה לטפטף לכל אחד העובדים שלך. כך אנו האזור להבטיח לנו לשמור על קשר עם לוגיקה עסקית ומידע במערכת שלנו המשרד לרשת. יש שתהא אינספור חלופות לביצוע משימות אלה, אבל כאן היו שתי דוגמאות פשוטות כדי להראות עד כמה קל הפתרון הוא להשיג.

בפעם הבאה

בחלק האחרון של סדרה זו, בשם בצדק חלק 5 , נדבר על פריסת מערכת זו. אני לסכם את מה שנלמד ומה הצלחתי ליצור.

רשת המחשוב במשרד באמצעות סביבות וירטואליות - חלק 1

על ידי , יום שישי 4 דצמבר 2009 11:23

הקדמה

אני עובד בחברה שבה גמר עבודות אצווה רבים עיבוד מיליוני רשומות של נתונים מדי יום, חשבתי לאחרונה על כל מכונות יושבים בכל יום לעשות כלום במשך כמה שעות. האם לא יהיה זה טוב אם אנחנו יכולים להשתמש במכונות האלה כדי לחזק את כוח העיבוד של המערכות שלנו? במערכה זו של מאמרים אני מסתכל על היתרונות הפוטנציאליים של העסקת המשרד לרשת באמצעות סביבות וירטואליות.

כמו PHP Developer אני הולך להשתמש בכלים שאני משתמש בכל יום, כלומר לינוקס, mySQL , PHP, VirtualBox ו חתרנות (SVN). עם זאת אני מקווה במדריך זה יתאימו לשפות וטכנולוגיות אחרות באותה מידה.

הפתרון אני מספק יתבסס באופן רופף מאוד על סוג של עיבוד היינו צריכים להשיג זאת זה לא יכול להיות נכון את המאמר במלואו כפי שאני אשנה דברים לשם הפשטות, או לייצר תרחישי השימוש מעניינים יותר.

אלה סביבות וירטואליות ירוצו על מחשבי Windows מאז זה מה שרוב משרדי לרוץ. עיבוד כי מכונות משרדיות לא אמור להפריע הצוות באמצעות מכונות אלה, יש לא דורשים תחזוקה ליד המכונה, ולהיות לפריסה בקלות מחשבים חדשים כפי שהם מתפרסמים. כמו כן, מכונות וירטואליות חדשות לא דורש שום הגדרות נוספות כמו זו מקטינה באופן משמעותי את יכולת הרחבה וקלות שבו מערכת ברשת ניתן להרחיב.

למה לפרוס רשת מחשוב Office?

ראשית ייתכן שאתה חושב, למה לא פשוט להשתמש מחשוב ענן משאבים כגון פלטפורמת EC2 של אמזון ? ובכן הסיבות יכולה להיות מספר, למשל:

  • אתה לא להפקיד נתונים מסוימים לסביבה מחשוב ענן
  • אתה לא יכול לשים נתונים מסוימים לסביבת מחשוב עננים מסיבות משפטיות (נתונים כגון: לעזוב את הארץ), פוטנציאל מסיבות משפטיות, כגון רשומות של ביטוח הבריאות הלאומי.
  • אתה רוצה לשמור על יחידות עיבוד שלך קרוב ויש להם שליטה מלאה על החומרה מדי
  • אתה לא צריך את הכספים הפרויקט לפעול במקרים ענן
  • למשרד שלך אין חיבור לאינטרנט, ולכן לא ניתן להשתמש בו משאבים ענן
  • אתה לא אוהב גשם, עננים מציע גשם, ולכן אתה שומר הרחק

אני בטוח הרשימה יכולה להמשיך, אבל אני חושב שזה מספיק לעת עתה.

היתרונות של רשת מחשוב משרד

ובכן, מאפשר לעשות כמה מתמטיקה (ו בסגנון פיזיקה נכון מאפשר לבצע כמה הנחות גורפות). דמיינו לעצמכם שאתם יכולים עיבוד גדולה שרת בשרני לרוץ 100 משרות ביום. במשרד שלך יש לך 50 מחשבים אשר פעיל 16 שעות ביממה, כל המכונות האלה הוא 10% חזק כמו סבר עיבוד בשרני שלך. (כל התוצאות כאן מעוגלים לזלזל להגדיל את הביצועים).

אז, 1 מכונת * כוח 10% * 2/3 זמן = 0.067 כלומר 1 עיבוד שולחן העבודה בזמן המתנה יכול לעבד 6 משרות מלאות ביום.

אם אתה עכשיו בקנה מידה זה את זה לוקח 15 שולחנות עבודה סרק לעבד עבודות כמו רבים ליום כשרת עיבוד הראשי עושה.

אז במשרד מדומה שלנו של 50 מכונות נוכל להגדיל את כוח העיבוד שלנו משרת 1 עד 4 שרתי עיבוד מלא, או שאנחנו יכולים לעבד 400 מקומות עבודה ליום במקום 100.

שימו לב, להשקעה שום חומרה חדשה החברה גדל רק עיבוד אצווה שלה קיבולת 4 פעמים! פוטנציאל אתה הולך להגדיל את צריכת החשמל שלך, אבל מסביבות משרדים ברוב הייתי מכונות נותרים בדרך כלל על בן לילה בכל מקרה, אז אתה יכול לראות את זה כיוזמה ירוק.

יתרונות נוספים גם אומר כי השקעה חדשה (או עדכון) שרתי עיבוד יכול להתעכב אם מכונות משרדיות שלך מספיקים, וכי תוך כדי לשפר את הכוח של מכונות משרדיות שלך לרשת במשרד שלך הופך להיות חזק יותר באופן אוטומטי.

טכנולוגיות

מה אתה צריך? (או יותר נכון מה אני משתמש):

  • משרד מכונות סרק (במקרה שלי המחשב הנייד הישן חילוף Windows XP)
  • VirtualBox (או תוכנת לקוח וירטואליזציה)
  • מחשב וירטואלי עם PHP, MySQL running פועל לחתוך את מערכת ההפעלה, אני מתקשר שרתים אלה רפויות שלי :)
  • דרושים להפעלת
  • שרת העבודה (יכול להיות אחרת מכונה וירטואלית אי שם)

משרות אופייניות

סוגי עבודות כי המערכת נועדה לפעול הוא כדלקמן:

  • המערכת מקבלת רשימה של נתונים שעליהם אנו צריכים להתאים ולחזור תוצאות
  • ההתאמה כוללת בדיקה / חיפוש מספר (סטטי למדי) מקורות נתונים
  • תוצאות ממקורות נתונים עשויים לדרוש הוכחה נוספת, מיזוג, בדיקה של מקורות נתונים נוספים בעקבות תוצאות
  • הנתונים חזר עם רשומות תואמות, תוקף מלא ומעובד
  • כל רשומה בתוך העבודה אינה תלויה בשאר

אז בעצם אנחנו מסתכלים ריצה עבודות הדורשות שילוב של מסד נתונים חיפושי וחלק גריסת מספר, תרחיש טיפוסי למדי בסביבה עסקית.

פתרונות הרשת אינם רק יתרון לעיבוד עבודות מסוג זה. ביסודו של דבר, כל תהליך אשר ניתן לפצל ליחידות עצמאיות ניתן להפעיל במקביל. לראות את ויקיפדיה לדוגמאות ומידע נוסף: מחשוב גריד , אבל כמה דוגמאות מפורסמות הם SETI @ Home ו BIONC . יש מסגרות להפעלת רשתות מחשוב, ואלה בהחלט שווה להסתכל לתוך.

מה נשיג?

בסופו של מאמרים אלה אני מקווה להראות כי פריסת הרשת המשרד לא צריך להיות רב או יקר מאוד זמן. אני הולך לדבר:

  • התקנת מערכת בקרת עבודה, תצורת עבודה
  • יצירת מכונה וירטואלית עיבוד מתאים
  • כיצד להגדיר את המערכת על מחשב חלונות
  • הבטחת אתה משתמש קוד האחרונים נתונים
  • הפריסה בהשוואות
  • במבט קדימה

אני אהיה בבניין (אישור בניתי, אז כתב את זה) יישום לדוגמה לבחון את המושגים במחשב המקומי באמצעות Windows XP ו 'GridMachine "שלי מכונה וירטואלית. השליטה התפקיד שלי שרת יהיה מכונת העיקרי שלי אשר פועל פדורה 11 .

זה בשום אופן לא התכוון להפגין מערכת חזקים באופן מלא עובד, שלו נועד יותר הפגנה ודיון מראה כי הדברים האלה ניתן להשיג בחלל זמן קצר יחסית ובעלות קטנה. אתם מוזמנים לשלוח לי הערות, תיקונים או שיפורים ואני אעשה כמיטב יכולתי כדי לשמור את המאמר הזה מתעדכן בהתאם.

בפעם הבאה

ב חלק 2 אני נתחיל בבחינת מערכת הבקרה העבודה, לבדוק כיצד העבודה צריך להיות מוגדר על מנת להשיג הכמות הגדולה ביותר של עיבוד תוך הקפדה כי כל עבודה מעובד ללא יוצא מן הכלל.













פנורמה נושאים על ידי Themocracy

5 מבקרים מקוון עכשיו
4 אורחים, 1 בוטים, 0 משתמשים
מקס מבקרים היום: 11 בשעה 01:15 בבוקר UTC
החודש: 40 23-05-2012 בשעה 03:33 בבוקר UTC
השנה: 69 ב 27-02-2012 9:56 בבוקר UTC
כל הזמן: 130 ב 28-03-2011 10:40 UTC