Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/zh-TW/_zh-TW_tag_batch) [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»批處理

文章標籤:批處理

辦公室網格計算使用虛擬環境-第4部分

,二零零九年十二月四日(星期五)晚上11:59

介紹

我在一家公司上班,我們許多批處理作業處理數據每天數以百萬計的記錄,我一直在想最近所有的機器,周圍坐的每一天做幾個小時沒有運行。 如果我們可以使用這些機器,以增強我們的系統的處理能力,豈不是好? 在這組文章中,我要去看看用人辦公室電網使用虛擬環境的潛在好處。

第三部分中,我們創建我們的虛擬加工機,並成立窗機成為空閒時間工人。

運行最新的代碼

不可避免創建您的工作人員的業務邏輯,將改變後,錯誤會被發現,更快,更高效的代碼將產生,從而使處理數據使用你的工人,周圍坐著老臭代碼 那麼我們如何確保我們總是使用最新和最偉大的版本我們處理腳本?

有幾個很容易簡單的方法,我們可以做到這一點的伎倆,然而,在實現這一目標,以減少處理能力和網絡流量。 讓我們用最簡單的解決方案,並開始慢慢提高了幾個迭代。

第一種方法是簡單地連接到我們的作業控制服務器(通過Samba,FTP,或類似)和拉下來的代碼的最新版本。 不是很有效,但它會做的工作。 讓,有所改善,如何創造一個rsync的腳本和使用,每次來呢? 或者什麼顛覆檢查出的代碼最初投入的最新處理腳本,然後就更新我們的代碼在每次運行時( 使用svn update )呢?

最終我們可能會與一個bash腳本(稱為由cron每10分鐘),它看起來像這樣簡單的:

  #!/ bin / sh的
如果PS斧| grep的-V的grep | grep的PHP >的/ dev / null的
然後
    迴聲“工作目前正在處理,退出”
其他
    呼應“作業未運行,從現在開始”
     CD /路徑/ / /複印工作
     svn update的
     PHP yourJobProcessingScript.php
科幻 

現在我們可以肯定的,每次運行時,我們肯定運行最新的代碼。 我們要確保我們的代碼庫更新每一個時間,我們執行的運行,減少網絡流量,只在我們的網絡傳輸文件的區別。

在我的示範設置,我沒有完全按照以上。 顛覆我的工作處理服務器上安裝了,我只是拉'工人'使用'svn update的'分支的最新代碼。 我還添加了一個版本號標記我的處理腳本返回結果的一部分返回到數據庫。 這樣我可以看到我的代碼被更新,每次我工人分支,即複製到我的樹幹,我肯定是運行最新的處理腳本。

使用最新的數據

如果您的作業處理,在某些時候使用的數據源,那麼這些將要更新過。 除非你叫您的數據源上非常罕見的基礎上,你會湧入與交通網絡盡快為你的工人開始運行停頓帶來的一切。 對於我的解決辦法,我決定,我想我與我的虛擬機的數據源,周圍移動。

握住你的馬有!如果我的數據源是巨大的? 嗯,這真的是我們談論了多少數據的情況下? 它可能是更具成本有效的安裝到每一台機器的一個額外的更大的硬盤驅動器,比購買一個額外的服務器進行處理。 這是一個問題的預算和業務決定。 它也許您的數據源是如此之大,它只是不可行保持在您的工作機的數據量。 在這種情況下,你會做什麼? 那麼我們可以看看在調用本地數據服務器,但是這可能會導致網絡問題。 在這種情況下,如該網格系統可能成為不切實際的,包括在您的辦公環境。 這也可能是替代性的運行策略,例如,你可以看看,只有晚上8點到早上6點之間的工人每天晚上和/或限制的數據源請求調用。

上讓移動100GB的數據說,我們的數據源量。 是的,是一個相當位數據,在網絡上更新移動。 我們如何確保我們在這種情況下,最新的數據副本嗎? Rsync是一種可能性,但我個人認為作業處理服務器上運行您最新的數據源,並設置作為主複製(用一個漂亮的長濱日誌)這可能是要走的路:

複製 通過設置每個工人作為一個奴隸的作業控制服務器更新您的數據源,將涓滴很好地給你的工人沒有大幅增加,在網絡活動(即是,除非你執行一個龐大的數據更新和所有的工人踢一次)。 這比rsync的優勢,你不會得到每個職位的前長時間的停頓; mysql守護你的工人作為數據庫的更新,將不斷更新其數據,同時繼續處理。

這是如何設置我的演示服務器。 設置複製,我也跟著上設置複製 MySQL網站(指南),並在20分鐘內,我有我的頭文字工作者,複製作業控制服務器的數據集。 複製設置和過程,對於每一個額外的工人工作,每次當VM被複製。

總結

在本節的文章中,我們看起來簡單,無痛的,它是迄今usingÂrsync或subverion(SVN)的的,做的工作和減少在同一time.Â的網絡流量,讓您的處理代碼,我們還討論了如何允許它滴入每個工人,以保持您的數據源的信息最新。 因此,我們面積,確保我們保持在我們的辦公室電網系統的業務邏輯和信息。 顯然是有無數的替代品,來執行這些任務,但這裡是兩個簡單的例子來證明的解決方案是多麼容易來。

下一次

在這個系列中,恰當地命名為第5部分的最後一部分,我們將討論部署這一系統。 我會總結所學和我設法創造。

辦公室網格計算使用虛擬環境-第1部分

,四日(星期五)十二月2009 23:23

介紹

我在一家公司上班,我們許多批處理作業處理數據每天數以百萬計的記錄,我一直在想最近所有的機器,周圍坐的每一天做幾個小時沒有運行。 如果我們可以使用這些機器,以增強我們的系統的處理能力,豈不是好? 在這組文章中,我要去看看用人辦公室電網使用虛擬環境的潛在好處。

作為一個PHP開發人員,我要使用的工具,我使用的每一天,即Linux中, MYSQL ,PHP,VirtualBox和顛覆(SVN)的。 不過,我希望本指南將適應其他語言和技術一樣好。

提供解決方案,我將非常鬆散的基礎上處理,我們就需要實現,但是這可能不是通過整篇文章的真實,我會改變為簡單的事情,或產生更有趣的使用場景類型。

這些虛擬環境將Windows機器上運行,因為這是大多數辦事處運行。 辦公室機器做了處理,不應該干涉員工使用這些機器,應該不需要在機器的維修,並很容易地部署到新機,因為他們成為可用。 此外,新的虛擬機,不需要任何額外的配置,因為這大大降低了在可擴展的網格系統的可擴展性和易用性。

為什麼要部署Office的計算網格嗎?

首先,你可能會想,為什麼不使用雲計算資源,如Amazon的EC2平台 原因可能有幾個,例如:

  • 你不會委託到雲計算環境中的某些數據
  • 到雲計算環境中,你不能把某些數據(如數據離開該國)法律上的原因,可能出於法律原因,如NHS的紀錄。
  • 你要保持加工單位關閉,並有超過硬件的完全控制
  • 你沒有項目資金運行雲實例
  • 你的辦公室並沒有連接到互聯網,因此它不可能使用雲資源
  • 你不喜歡雨,雲建議雨,因此你保持良好

我敢肯定,這個名單可以繼續,但我認為這是足夠現在。

一個辦公室計算網格的優點

好吧,讓我們做一些數學(在真實的物理風格讓一些籠統的假設)。 試想一下,你有大的的仡處理服務器上運行100每一天的工作。 在你的辦公室有50台機器,每天16小時處於閒置狀態,這些機器是只要你仡處理SEVER強大的10%。 (四捨五入到這裡所有的結果都低估的性能提升)。

因此,1台* 10%的電力* 2/3的時間= 0.067 1,即在桌面空閒時間處理, 每天可處理6的全面工作

如果你現在擴展這件事,它需要15閒置的台式機,每天處理盡可能多的就業機會,作為你的主服務器進行處理。

因此,在我們假裝辦公室50台機器,我們可以增加1服務器我們4個全處理服務器的處理能力,或者我們可以處理400每一天的工作,而不是100。

通知,貴公司已沒有新的硬件投資只是增加其批量處理能力的4倍 潛在的,你要你的用電量增加,但大多數辦公環境,我去過機一般都留下過夜了,所以你可以看到作為一個綠色倡議。

也意味著,在新的投資(或更新)處理服務器可以被延遲,如果你的辦公室機器充足,為您提高您的辦公設備的電源,你的辦公室網格變得更加強大,自動等優勢。

技術

你需要什麼? (或更正確,我沒有什麼用):

  • 閒置辦公設備(備用的舊的Windows XP的筆記本電腦在我的情況)
  • VirtualBox的(或其他虛擬化客戶端軟件)
  • 與PHP,mySQL的runningÂ切割下來操作系統上運行的虛擬機,我打電話給我的這些LIMP服務器 :)
  • 喬布斯運行
  • 作業服務器(可以是另一台虛擬機的地方)

典型的工作

,該系統被設計為運行工作的類型如下:

  • 系統接收到的數據,這就需要我們以匹配並返回結果列表
  • 符合條件的涉及檢查/尋找數(相當靜態)的數據源
  • 從數據源的結果,可能需要進一步驗證,合併,其他數據源的檢查結果
  • 數據返回匹配的記錄,充分驗證和處理
  • 內工作的每個記錄是獨立的休息

所以基本上我們尋找正在運行的作業,這需要一個數據庫查詢的混合物和一些數字運算,在一個商業環境相當典型的場景。

電網解決方案是處理這種類型的工作,不僅有利。 基本上可以並行運行,任何分裂過程可分為獨立單位。 為例子和詳細信息,請參見本維基百科: 網格計算 ,但幾個著名的例子是SETI @ HOMEBIONC 有運行計算網格框架,這些都值得探討。

我們會實現嗎?

通過這些文章的最後,我希望部署辦公網格,不需要非常昂貴或費時。 我要討論:

  • 設置作業控制系統,工作配置
  • 創建一個適當的處理虛擬機
  • 如何設置在Windows機器上的系統
  • 確保您使用的是最新的代碼和數據
  • 部署和基準
  • 展望未來

我會大樓(我建的,然後寫這)一個示例應用程序來測試使用Windows XP和我GridMachine“虛擬機上的本地機的概念。 我的作業控制服務器將成為我主要的機器上運行Fedora 11中

這絕不是為了展示一個完全工作的強大的系統,它意味著更多的示範和討論顯示,這些東西可以在相當短的時間空間,在較小的代價實現。 請隨時給我任何意見,更正,或改善,我會盡我最大努力保持更新以匹配本文。

下一次

第2部分 ,我會開始在尋找工作控制系統,並考慮工作應該如何進行配置,以達到處理量最大,同時確保每個作業無故障處理。

辦公室網格計算使用虛擬環境-第2部分

(星期五)二零零九年十二月四日下午11:23

介紹

我在一家公司上班,我們許多批處理作業處理數據每天數以百萬計的記錄,我一直在想最近所有的機器,周圍坐的每一天做幾個小時沒有運行。 如果我們可以使用這些機器,以增強我們的系統的處理能力,豈不是好? 在這組文章中,我要去看看用人辦公室電網使用虛擬環境的潛在好處。

第1部分中,我給了我將使用以及討論一些潛在的原因,為什麼你想創建一個辦公室電網系統和技術的概述。

作業控制

如果你將要運行的作業,然後你會需要一些方法來管理他們。 你的作業控制系統(作業服務器)需要真正深思熟慮之前,甚至試圖運行辦公室電網。 所以,首先,什麼是作業控制系統的任務:

  • 移交後,要求工人工作
  • 告訴工人什麼類型的工作運行
  • 跟踪作業
  • 確保工作只運行一次
  • 向工人提供了就業數據,或至少告訴他們在哪裡得到它

該系統還需要具有可擴展性,解決方案,工程現在可以在一個單一的情況下延長運行幾種類型的業務工作,看到在網格解決方案的價值。 例如,作業可能會獲得優先事項,可能存在一個以上的作業類型(即幾個代碼基地),最終你甚至可以運行多個不同的工作,優化為每個作業類型(雖然不從“一般工人的機器'的想法)。 總是嘗試開發系統時,思考未來,短期視力可導致較長期的挫折和增加開發時間。

作業服務器

我們要去的地方需要控制我們的工作,這應該只在您的網格系統,有一個固定的資源定位器,是一個IP地址,主機名,URL(使用內部DNS)等,這是因為工人需要知道在哪裡找工作,工作人員需要找到作業控制系統(作業控制系統發現工人)。

作業服務器本身並沒有真正有一個複雜的任務(無論如何)的一項基本制度,它需要儲存工作清單,手出來工作,收到成效,並隨後它們存儲供以後檢索。 如何定義這些部件(如“工作”失控),可以是很基本的。 後來,我們可以延長系統包括一個管理界面,添加,編輯,刪除,暫停工作,但這是超出這個練習。

有沒有任何理由,那麼你的工作服務器不能是一個虛擬機,主要加工提供的服務器內運行,它不會消耗太多資源。 然而,作業服務器需要高可用性,如果上週五晚上,你將失去整個週末的處理,可能耗費您值得一兩個星期的處理時間(時相比,你的主要處理服務器單獨) 。 你可能要考慮把你的工作服務器高可用性負載平衡的環境。

基本設置

為我們的工作服務器的基本設置,包括我打電話我LIMP服務器 (這是馬錢ySql,磷HP)。 THEA工人上運行的代碼將實際工作,它可以運行什麼作業與作業控制系統數據庫進行交互。 後來,我們可以創建一個Web服務了工作,實際上手,而不是讓工人做自己的辛勤工作,但現在我們將繼續使用KISS原則 (保持簡單,愚蠢!)。

因此,讓我們創建三個MySQL的表處理工作。 這將是`工作`,`jobRecords`,`jobResults`。

工作表 在這裡,我使用的SQL好友一個偉大的小替代phpMyAdmin的僅僅是因為它很容易安裝在CentOS(別人看: 10到phpMyAdmin大的替代品

此表由5個簡單的領域,

  • ID:唯一標識工作
  • 名稱:可能是一個客戶端參考,或任何其他標識符
  • 狀態:你需要知道在哪裡工作,例如:
    • 0:未開始
    • 1:拿起
    • 2:已完成
  • started_by:誰開始做這項工作? 這不完全是必要的,但有一個很好的。 我建議他們在網絡上的IP地址跟踪工人
  • started_at:工人什麼時候開始工作? 通過跟踪,但沒有X的時間內完成的工作,我們知道我們需要拿起再次工作,並開始由另一名工人處理。 工人可以停止處理/去任何數量的原因,斷電,死機,網絡損失等離線

這是很容易,可以延長一些額外的領域,以便跟踪統計,看到工作了多久,一個櫃檯,看到多少工人拿起工作的結束時間列這個表如何(顯然,這需要往往1),優先就業,名單可以開下去。 在更複雜的工作方案,將有可能指定多少內存工人將需要訪問(因此只能使用合適的工人),甚至是什麼類型的工人將被要求。

讓我們添加一些例如工作:

例如工作

下表是很容易理解,這些都是我們的工作記錄。 他們有聯繫的主要工作表列jobs_id`。 本表非常取決於你需要的數據提供給你的工人,讓一個很簡單的例子,我們有四列:

  • ID:ID記錄
  • 產品名稱:人的名字
  • 地址:人的地址
  • jobs_id:這條記錄鏈接到作業ID

第三個和最後一個結果表中的表組成,它有很多相同的使我們的記錄表,並與另外一些列可能的記錄表中的一部分:

  • job_record_id:鏈接到工作表的結果
  • 結果:結果數據

......,這一切你需要的作業控制! (儘管是在一個非常基本的水平),在我的情況,我指出,我的數據處理另一個位於表,但是這可以很容易地文件,參數運行仿真代碼,你的名字。

選擇工作

如前所述,工人會為我們做什麼,現在我們的工作管理,所以我們真正需要做的是找到一份工作,需要處理和獲取信息。 我們將如何做到這一點? 以及挑選我們的工作選擇標準和找工作,在SQL中我做了以下:

  1. 採取任何不標記為完整,但我們的工人的工作和重置(替換同一個標識符__ ME__,最簡單的將是IP地址):
     更新`工作`設置'狀態'= 0'狀態'= 1,`started_by`= _ ME__; 
  2. 使用我們的工作選擇標準,選擇工作,並告訴工人,這與它打交道的控制系統:
     更新`工作`設置'狀態'= 1,`started_by`= _ ME__,started_at`=現在()'狀態'= 0或
     (`地位`1`started_at`> DATE_SUB(現在(),間隔x小時))ORDER`ID`升序; 

    通過抓工作,但沒有返回結果在X時間,我們確保所有的工作都是在運行崩潰或擅離職守工人的事件數量。

  3. 下一步搶詳情記錄本身的工作:
     選擇*從`工作`WHERE`started_by`= __ ME__極限;
    選擇*`job_records“``ID`= _ JOBID__; 

作業完成後,我們插入了我們的結果記錄和標記為已完成的工作。 請記住,作為作業可以暫停/恢復隨時讓一些在你的腳本的健壯性。 這可能是任務中途暫停通過更新作業控制系統,使檢查工作的結果保存到作業控制系統中的記錄數量,將是一個明智之舉。

此外,雖然這表明如何工作可以選擇從一個SQL查詢幀確實應該管理的控制,使抽象的工作,如果你決定切換到使用一個Web服務,文件系統, XML ,或任何其他多項制度,它不會影響到它上面的代碼。

工作配置

接下來要考慮的方面是工作的大小和配置。 玩作業配置,我們可以取得良好的平衡之間的速度,複製過程和可靠性。 以一對夫婦OFA方案:

  1. 工作1天,每運行,這意味著,你的工人需要15天時間來處理每個作業(記得當時2/3rds的10%的電力)。 這顯然不是一個明智的配置,你的工作規模是太大了! 這將需要至少增加一倍的時間去處理工作,最初的工人應該去擅離職守(拿起時,它已經不返回結果加後處理時間)。 在一個理想的,你必須至少有一個完整的工作很容易清除長期閒置期間的每個年底,這樣你的工作,在最壞的情況下保持計時工作將採取兩天的過程,應該先去失踪。
  2. 工作需要1分鐘運行,這意味著你的工人,約需15分鐘,運行每個作業。 雖然這可能最初似乎理想,你在吃午飯的時候獲得額外的工作處理,茶點,會議等,這種情況使應變系統的其他領域,並介紹了自身的問題。 例如,首先將您的設置/處理時間比去,因此失去了系統的效率。 您的網絡將是不斷流的工作信息,以各種工人的令人沮喪的工作人員,誰是毛澤東他們的日常工作​​。 你還打算把更多的應變作業處理服務器,因為它有很多很多小塊工作定期拋出。 最後,在這種情況下,如果你的工作服務器宕機,你要創建一個未完成的工作的巨大回日誌,而更大的工作可以繼續幸福地意識到加工作業服務器遇到困難。

在現實中會有您的網格設置沒有一個理想的配置,更取決於可用的資源,作業類型,作業的周轉時間的要求,網絡能力,等等​​。 然而,一些準則是:

  • 大小工作,使每個工人可以通過在15小時內(最長可能的空閒時間至少3-4個工作)
  • 發揮作業的大小,使安裝變得相當的處理時間(軸承在考慮到上述點)相比,微不足道。
  • 如果工作不完整的雙倍金額的時間(也許更少),你期望它來完成,它承擔了擅離職守,並開始處理它與另一名工人。 這意味著你可能要等待它來完成(如果後續作業失敗可能更長)工作的正常長度的三倍。 你可能要縮短這個時間,但要小心沒有減少太多,因為你可能會開始定期重複處理任務
  • 工作應該盡可能多的外部要求獨立。 服務器的工作,例如,只應在每一項工作的開始和結束聯絡。
  • 不飽和您的網絡,這將有兩個負面影響,你白天的工作人員會發現,使用網絡的沮喪和問題,可連接超時的問題只會變得更糟,因為你擴展你的網格經歷。
  • 確保工作可以運行在你的工人。 如果工作變得過於內存密集型或磁盤空間密集的工作將啟動中止的唯一的事情,你會發現是在沒有真正的原因與處理的工作數量下降。

提交工作結果

當提交工作結果,它是重要的檢查結果還沒有被提交由另一名工人,特別是如果目前的工人已經蟄伏一段時間。

結果提交時確保結果的數量內的工作相匹配的記錄數。

如前所述,不能過分強調,建設成為工作的檢索結果提交容錯。 工人可以(和最有可能)進入掛起模式在最不方便的時候,這需要照顧。 也再次抽象出來的結果提交將有助於滿足您的作業控制系統更容易處理的未來變化。

總結

在這sectionÂ,我們看著需要做什麼作業控制服務器,以及如何得到一個非常基本的系統設置。 我們討論了如何檢索從控制系統的工作,以及如何最好地配置工作得到大多數我們您的辦公網格系統。 要完成,提出了一個段落或提交結果返回到作業控制服務器。

  • 作業控制服務器管理工作,確保完成所有的工作單位
  • 通過提煉你的工作選擇/結果提交,沒有太多的問題,我們可以改變控制服務器技術
  • 配置您的工作,以確保它們運行您的網絡基礎設施上投入太多的壓力,快速,高效地,並沒有定期重複處理任務。
  • 確保您建立容錯和錯誤checkingÂ到你的程序,工人可以暫停,恢復和最不方便的時間。 記住要檢查,如果結果已提交另一名工人。

下一次

第三部分中,我們將創建我們的虛擬加工機,並成立了我們的windows機器成為空閒時間的工人。

辦公室網格計算使用虛擬環境-第5部分

,四日(星期五)十二月2009 11:03下午

介紹

我在一家公司上班,我們許多批處理作業處理數據每天數以百萬計的記錄,我一直在想最近所有的機器,周圍坐的每一天做幾個小時沒有運行。 如果我們可以使用這些機器,以增強我們的系統的處理能力,豈不是好? 在這組文章中,我要去看看用人辦公室電網使用虛擬環境的潛在好處。

第4部分中,我們看到,在使用工具,以確保我們正在運行最新版本的代碼和數據源,使得到的結果是一直到最新的最新的商業信息和邏輯。

預部署

前,如果有一件事你做一件事單獨部署的網格系統,它是當前系統的基準 無論你告訴同事多少額外的工作,您的系統正在做的,除非你有編號,以備份您的擔保這是什麼。 因此,

  • 你可以處理多少條記錄當前? 每日? 每小時?
  • 多久通常需要扭轉工作?
  • 你有更多的容量多少?

還有其他問題:

  • 如果您的服務器進行處理(或處理服務器)出現故障,這將如何影響你的能力,你會被削弱?
  • 你希望/希望得到來自電網系統有什麼優勢?
  • 是你的辦公室機器能夠運行的工作嗎?
  • 是你(或你的工作可以被轉換),在這種運行方式wrok?

最後一個主要的一點是採取你的時間,像這樣的任何重大變化。 更新您的處理代碼工作再次使用的新方法,基準。 可能成立處理服務器來運行一個虛擬機,所有的服務器進行處理後,將是另一名工人(只是一個非常強大的比較)。 允許新的進程來解決。

部署

我的建議是到辦公室的一個週末彈出執行所有的安裝和設置。 之前剛剛做了兩個星期的假期,這和其他貧困離開章處理的後果......也許不是......

部署這樣的系統需要是緩慢的。 儘管它是相對簡單設立這個系統,會影響整個辦公室的基礎設施(數字)。 首先,推出幾個機器的時間,監視網絡流量,工人主機如何一天到一天的基礎上執行。 您可能需要改變你的發現,你的工作配置。

一旦系統與幾台機器(可以說,所有的辦公設備,10%即5)保持監控網絡流量和主機performance.Â下一步基準再次落戶,你現在應該可以處理更多的就業機會比你的第一個基準的33%。 檢查是這樣,你至少在這個球場。 如果不是,探討在移動之前是怎麼回事。 重複這個循環,直到你快樂都沒有造成個別機器的性能或磨你的網絡癱瘓辦公室機器運行。

在任何時候都保持基準,即使在所有部署。 檢查新的代碼更新如何影響系統的速度,檢查所有工人的報告和處理工作。 慢慢(很慢)增加你的工作從工人和網絡配置,以獲得最好。

住手!

如果你想在運行一段時間,以阻止工人嗎? 他們都在那裡運行,再生,並盡力處理飢餓的昆蟲一樣的數據。 答案似乎是顯而易見的,但它的價值,以防萬一加入其忽略。 簡單的編輯處理腳本退出(0)或死亡()或其他一些語句來殺你的處理工作。 為什麼我們總是嘗試更新到最新的處理腳本之前運行的一個重要原因!

演示系統

為了寫這篇簡短的文章,我創建了一個非常小的網格,展示的技術和方法的集合。 我看了很多文章,教程,並使用各種工具來設置和監控發生了什麼事情。 我絕不出去飽和的交通,也不整個辦公室,我曾訪問一個普通的工作人員PC到主機性能的影響如何。

我的演示系統確實是很不起眼的。 我用我的作業控制服務器設置為常規桌面。 在這一點上,我已經安裝了MySQL服務器的安裝設置為複製過程中的高手, PHP ,A和SVN通過鏈接的Apache (通過工人VM訪問)。

然後,我在VirtualBox創建一個6歲的Windows XP的筆記本電腦一台CentOS工作機。 我設置複製到本機的虛擬機後,指定的計劃任務和放手。

虛擬機成立,顛覆與PHP,MySQL的。 我檢查出一個分支命名為“工人”從我的作業控制服務器庫,並確保它可以使用“svn update的”更新。 下一步,我的設置作為一個奴隸的MySQL,並檢查數據從MySQL複製作業控制服務器工人VM。 這一切後,我設置的bash腳本和cron作業。

我的處理腳本基本上都沿此線(很簡單的東西):

  • 在名稱字段讀取
  • 在VM上舉行的數據源表的計算類似名稱的數量
  • 算作數以上,但由空格分割的名稱(即用的名字,中間,姓)的名稱
  • 重複這個過程中1000倍

每個作業歷時約20分鐘運行。 在一個點上,我打開的Windows筆記本電腦上了幾個工人VM副本,並觀看的工作進行檢查每個工人的IP地址。 在這一點上我也證實,複製自動重新啟動。

離開閒置導致工人在開始作業控制服務器來處理工作的筆記本電腦。 恢復筆記本電腦的使用時有30-60秒左右的延遲,這是要意識到,他們的機器可能會暫停一會兒,返回機器時,需要相當的時間和人員。 新機器可能不會有這個長暫停。 這些機器空閒期間進行加工的好處更是得不償失的工作人員不必等待在短期內(例如1分鐘),在他們的機器上的一個早晨抵達(我經常等待更長的時間,這為Windows Defender的更新發生),他們意識到了這一點(有用的時間搶早上喝咖啡!)。

總的來說,我覺得有信心,我已經證明的,可用於建立這樣一個系統的技術。 我已經表明,這樣一個系統,一個(非常)小規模,多一些嘗試可以擴大利用辦公室的機器資源的工作。 如果我不明白這樣做,我會非常有興趣知道/看到別人做的時候。

結論/評估

下一個明顯的步驟將是真正得到現實世界的例子,並開始部署如本系統內的辦公環境,並看看會發生什麼。 問一個業務,這個承諾沒有一條小道熾烈公司證明的技術和效果可能會有點困難。 網格/分佈式計算是非常受歡迎的是一些圓圈,並有一些大型應用程序(BIONC的SETI @ home,Folding @ home項目等)。 但是,我沒有發現在我的辦公環境內可以推出的搜索規模較小,像這樣簡單的系統。

我創建了一個基本上是免費的,在幾乎任何辦公系統使用的大多是開源軟件和工具。 技術基本上證明和表明執行如預期般運作。 我希望有,沒有太多的工作,並用一個非常簡單的設置,您可以部署一個辦公室網格計算系統,是功能強大,價格便宜,A和可擴展性,同時顯示。

一旦系統運行有幾乎是沒有結束的定制和改進,可以使金額。 例如統計/基準可以很容易地顯示了這樣一個系統的價值每天補充。 可以添加新的機器迅速和容易地到達時,他們與升級現有的硬件支撐你的處理能力。

我希望您喜歡閱讀這一系列文章,它給你的食物有關運行辦公室電網系統的思想。 這裡介紹的解決方案不一定在所有情況下工作,但應該是適應性強,讓你得到你的數據處理用自己的解決方案。

請隨時給我任何意見,更正,或改善,我會盡我最大努力保持更新以匹配本文。













全景主題 themocracy

4訪客在線
3位,1機器人,0成員
今天最多訪問:13日上午在9點36分UTC
本月:23-05-2012 3點33分早上40 UTC
今年:27-02-2012九時56分,69時UTC
所有時間:130 28-03-2011下午10:40 UTC