什麼是 PHP 工作者以及為什麼要關心?
已發表: 2022-06-30你有沒有瀏覽過你最喜歡的咖啡店的網站,當你檢查新的咖啡訂單時,你最終會在延遲後收到 504 錯誤?
或者,也許您正在瀏覽您最喜歡的體育網站,當您嘗試加載下一頁時,加載需要一段時間並返回超時錯誤?
這些情況令人沮喪,而不是我們在查看網站時所期望的。 在這兩種情況下,原因可能是沒有為站點分配足夠的 PHP 工作人員。 如果沒有足夠的 PHP 工作人員,如果站點請求數量較多,站點將無法處理所有進入的站點請求。 這不是一個好情況,因為網站速度對於將訪問者轉化為銷售線索和客戶非常重要。
什麼是 PHP Worker?
什麼是 PHP 工作者? PHP 工作者構建頁面並處理需要在您的站點上進行後端處理的請求。 PHP 工作者直接負責為您的站點訪問者生成 HTML 頁面。 因此,他們確定網站在任何給定時間可以處理多少未緩存的請求。
這通常是活動任務,例如對特定項目的庫存檢查,或者可能像查看和列出客戶的所有先前訂單一樣複雜。 當 PHP 工作者啟動時,它會保持持久性,直到進程完成或滿足某些條件。
將 PHP 工作人員視為雜貨店的結賬線,其中要掃描的每件商品都是一個 PHP 進程。
如果您只有一個 PHP 工作人員(一條結賬線),那麼所有東西都必須通過那條結賬通道,而收銀員當時只能處理一個訂單。 PHP 工作者可以限制站點上的並發或同時事務的數量。 如前所述,如果您只有四個 PHP 工作人員(四個結帳行),則該站點一次只能處理四個事務。
2022 年 WordPress 插件基本指南 >>
但是,這並不意味著第五個客戶(PHP 進程)或以後的客戶不會得到處理。 PHP 進程被放置在 worker 的隊列中,這意味著它處理隊列中的第一個請求,然後移動到隊列中的下一個 PHP 進程。 換句話說,排長隊,人們開始等待。
幸運的是,PHP 工作人員比雜貨店收銀員更快地處理信息。 它們的工作速度非常快,可以在幾毫秒內清除許多和大多數進程。 通過只增加幾個 PHP 工作者,您可以同時運行更多的並發進程,這意味著可以同時處理更多的客戶訂單。
當每個站點的 PHP 工作者太少時會發生什麼
假設您在一個站點上只有兩個 PHP 工作者,並且您有多個插件和一個沉重的主題。 這兩個 PHP 工作人員將始終僅用於處理插件和主題進程,留下隊列以立即建立來自訪問者對您網站的新頁面請求。
如果您在此基礎上運行電子商務網站,則只會增加隊列數量。 就像客戶排隊等候一樣,一些 PHP 進程會放棄排隊。 沒有寫出放棄線路,或者超時的進程,會坐等。 然後,他們將開始對服務器資源施加更高的負載。 就像結帳線現在環繞著街區!
WordPress 網站上的 PHP 流程可以像提交聯繫表格或請求根據訪問者的 IP 或郵政編碼對訪問者進行地理定位一樣簡單。
對於電子商務網站,這可能看起來有點不同。 正在處理的新訂單、購物車和客戶登錄等項目都將使用 PHP 工作者。 產品或描述通常會被緩存,因此通常不需要 PHP 進程來查看。 只有三到五個 PHP 工作人員意味著您只能在網站上同時處理那麼多事務,並且 PHP 工作人員將按照觸發順序處理請求(就像購物線一樣)。
如何減輕 PHP 工作者的負擔
對於 PHP 工作者來說,一個常見的問題是插件過多和主題繁重。 您通常可以通過以下提示幫助緩解由網站臃腫引起的問題:
- 使用插件添加站點緩存
- 減少對遠程站點的外部調用
- 一般網站優化
網站優化可能會變得複雜,特別是對於那些需要更多關注細節的流量較大的網站。 通常,站點越大,站點在請求樣式、產品、訂單和客戶的方式上必須越有效率。 通過這種方式,您可以減少將 PHP 工作人員用於一般站點功能,並且 PHP 工作人員可以有效地處理重要的事情——您的流量。
Nexcess 計劃附帶足夠的並髮用戶,即使是最大的站點也可以管理流量。
使用 Nexcess,作為 XS 計劃的一部分,您已經擁有 20 個並髮用戶。 隨著您升級到 XXL 計劃(有 120 個),這會以 20 的增量增加。
WordPress性能優化初學者指南>>
其他託管應用程序平台在介紹性產品中提供兩到四個 PHP 工作者。 Nexcess 託管 WordPress、WooCommerce 和 Magento 主機還內置了服務器端緩存,這有助於最大限度地減少使用 PHP 工作人員處理靜態內容,允許 PHP 工作人員處理來自最重要的人的請求:您的客戶。
使用更多 PHP 工作者維護一個更快的站點
然而,PHP 工作者可以管理數千個進程; 許多因素發揮作用,包括:
- 他們打了多少外部電話?
- 有多少插件與對數據庫的查詢競爭?
此外,將 PHP 工作者添加到站點也會增加服務器使用的資源分配。 運行的 PHP 進程越多,需要的 RAM 和 CPU 分配就越多,因此會在服務器上產生更重的負載,並且盡可能多地進行優化可以減少服務器負載。 PHP 工作者是關鍵,但它們不是神奇的、萬能的解決方案。
插件越多(甚至是非活動的),就越多的 PHP 工作者被用來處理非靜態請求。 這同樣適用於特色鮮明的主題。
出於這個原因,使用緩存和內容交付網絡 (CDN) 來幫助減少 PHP 工作者的任務負載始終是一個好主意。 這將優化您的網站,以盡可能最快的方式處理客戶請求。
Better 內置於 Nexcess 的完全託管主機中
提高您網站的性能始於高質量的託管。 使用 Nexcess 完全託管的 WordPress 和 WooCommerce 託管,您可以獲得:
- 自動擴展以在流量激增期間保持您的站點快速。
- 自動優化圖像以加快加載時間。
- 得益於我們內置的 CDN,閃電般的加載時間。
- 和更多!
了解為什麼用戶在 Trustpilot 上給我們 4.6 星(滿分 5 星)評分。 體驗為您的網站優化的託管。 查看我們今天開始的計劃。