羅 寧
(廣西經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院,南寧 530021)
LAMP 是一個(gè)應(yīng)用廣泛、低成本、輕量級(jí)的平臺(tái)架構(gòu),由于架構(gòu)局限,基于LAMP 開發(fā)的系統(tǒng)在實(shí)際生產(chǎn)環(huán)境中,如在競(jìng)賽管理應(yīng)用上,在并發(fā)訪問(wèn)量大時(shí),經(jīng)常出現(xiàn)訪問(wèn)阻塞,嚴(yán)重影響應(yīng)用,導(dǎo)致承載能力不足。如何尋找和消除瓶頸,解決LAMP服務(wù)器性能和并發(fā)能力不足的問(wèn)題,這一論題探究具有必要性和迫切性,以期為同行提供思路和實(shí)踐指導(dǎo)。
LAMP 主要由于Apache、Linux、PHP 腳本語(yǔ)言、MySQL數(shù)據(jù)庫(kù)組成,它具有低成本、強(qiáng)適用、開放性等特點(diǎn)。LAMP 架構(gòu)問(wèn)世后,得到設(shè)計(jì)、開發(fā)者的一致認(rèn)可,并且應(yīng)用范圍逐漸向企事業(yè)單位擴(kuò)展,這為網(wǎng)絡(luò)信息平臺(tái)完善、服務(wù)器并發(fā)性能調(diào)整提供可靠保障[1]。
Web 服務(wù)器并發(fā)性能高低,主要通過(guò)性能指標(biāo)間接反映,具體從客戶端和提供商兩方面來(lái)分析,具體性能指標(biāo)指吞吐量、用戶基數(shù)、資源使用情況、響應(yīng)時(shí)間等。此外,性能參數(shù)也是影響服務(wù)器工作效率和質(zhì)量的主要因素。服務(wù)器運(yùn)行是否處于正常狀態(tài),往往觀察性能指示器得知,根據(jù)性能指示器結(jié)果作出相應(yīng)反應(yīng)[2]。
服務(wù)器并發(fā)性能運(yùn)用WPTM 模型測(cè)試,所得到的測(cè)試結(jié)果過(guò)于片面,并且測(cè)試前用戶需求主觀臆斷,導(dǎo)致制定的測(cè)試計(jì)劃和性能指標(biāo)僅單一滿足用戶需求。此外,WPTM 模型操作單一、層次明確,面對(duì)個(gè)性化、多變動(dòng)服務(wù)請(qǐng)求,該模型未提供差異化處理方案,并且服務(wù)器處理流程一成不變,最終系統(tǒng)運(yùn)行狀態(tài)不能客觀、真實(shí)反應(yīng)。長(zhǎng)此以往,服務(wù)器并發(fā)性能會(huì)大幅度降低,因此,性能優(yōu)化工作急不可待,這為L(zhǎng)AMP 架構(gòu)運(yùn)用提供了良好機(jī)會(huì)和廣闊空間。
服務(wù)器并發(fā)性能全面優(yōu)化,有利于細(xì)致檢查系統(tǒng)運(yùn)行問(wèn)題不見,客觀指出系統(tǒng)性能缺陷,從而有依據(jù)的制定問(wèn)題處理策略,確保系統(tǒng)問(wèn)題及性能缺陷在短時(shí)間內(nèi)高效處理,這對(duì)Web 服務(wù)器順利、高效啟動(dòng)有積極影響。從用戶角度來(lái)分析,優(yōu)化后的Wen 服務(wù)器并發(fā)性能,能夠及時(shí)滿足用戶使用需要,以此提高用戶操作滿意度,全面保證系統(tǒng)穩(wěn)定性和安全性[3]。
優(yōu)化總的原則是結(jié)合具體情況,制定合理的優(yōu)化策略,以期提高服務(wù)器的多處理能力,將運(yùn)行效率發(fā)揮到極致。
LAMP 架構(gòu)運(yùn)用的過(guò)程中,應(yīng)將安全工作落實(shí)于各個(gè)環(huán)節(jié)。對(duì)于Apache 服務(wù),啟動(dòng)指令發(fā)出后,應(yīng)通過(guò)固定賬號(hào)來(lái)運(yùn)行,根據(jù)站點(diǎn)差異配備相應(yīng)的文件,同時(shí),監(jiān)督控制端口;目錄保護(hù)的過(guò)程中,充分發(fā)揮htaccess 保護(hù)作用;抵御DDOS 攻擊的過(guò)程中,有目的的實(shí)施IPTABLES。對(duì)于Linux 系統(tǒng),針對(duì)用戶賬號(hào)精細(xì)化管理,明確各賬號(hào)使用目的;合理調(diào)整端口號(hào);適當(dāng)限制流量使用行為;妥善設(shè)置目標(biāo)操作權(quán)限,具體落實(shí)權(quán)限一一對(duì)應(yīng)工作。對(duì)于PHP 腳本語(yǔ)言,高效、精確過(guò)濾危險(xiǎn)化、特殊化字符;全面控制系統(tǒng)運(yùn)行中失誤消息;運(yùn)用特點(diǎn)賬號(hào)啟動(dòng)PHP。對(duì)于MySQL 數(shù)據(jù)庫(kù),確定目錄權(quán)限;有選擇的篩選用戶、刪除用戶;動(dòng)態(tài)發(fā)送root 密碼,并設(shè)置獨(dú)立面[4]。
服務(wù)器并發(fā)性能調(diào)整的過(guò)程中,工作人員應(yīng)客觀掌握工作原理和運(yùn)行程序。LAMP 架構(gòu)提供輔助作用后,通過(guò)PHP 腳本語(yǔ)言完成編寫任務(wù),并在信息獲取的基礎(chǔ)上有目的的執(zhí)行相關(guān)操作,確保服務(wù)請(qǐng)求得到及時(shí)滿足。在此期間,MySQL 數(shù)據(jù)庫(kù)向其提供數(shù)據(jù)信息,并借助MTML 模塊實(shí)現(xiàn)信息重組,最后信息處理結(jié)果輸送至客戶終端。
首先,落實(shí)系統(tǒng)調(diào)節(jié)工作。創(chuàng)設(shè)Linux 系統(tǒng)穩(wěn)定運(yùn)行條件,以此提高組件穩(wěn)定性,接下來(lái)有計(jì)劃調(diào)節(jié)其他組件,并動(dòng)態(tài)增減服務(wù)功能,確保服務(wù)需求被全面及時(shí)滿足。這要求工作人員將系統(tǒng)調(diào)節(jié)工作落實(shí)于過(guò)程,以此提高CPU 利用率。在這一過(guò)程中,著重完成內(nèi)核調(diào)優(yōu)、網(wǎng)絡(luò)系統(tǒng)調(diào)優(yōu)、磁盤性能改進(jìn)任務(wù),這是網(wǎng)絡(luò)性能優(yōu)化的必然要求,同時(shí),也是讀寫塊合理化改進(jìn)的有效路徑。
其次,適當(dāng)優(yōu)化Apache 和PHP。合理設(shè)計(jì)多處理模塊,并根據(jù)請(qǐng)求和服務(wù)質(zhì)量適當(dāng)增刪模塊,以此起到配置調(diào)整作用;客戶機(jī)與服務(wù)器應(yīng)保持持續(xù)連接狀態(tài),通過(guò)能動(dòng)修改keepalive 值的方式逐一解決各項(xiàng)請(qǐng)求;PHP 優(yōu)化后能夠全面滿足靜態(tài)文件和動(dòng)態(tài)文件處理需要,同時(shí),配備相應(yīng)的Web 服務(wù)器。
然后,數(shù)據(jù)庫(kù)調(diào)優(yōu)工作穩(wěn)步推進(jìn)。定期檢查硬件狀態(tài),并高效更換問(wèn)題硬件;MySQL 數(shù)據(jù)庫(kù)和查詢功能與時(shí)俱進(jìn)的改進(jìn)。
最后,改進(jìn)服務(wù)器并發(fā)策略。之所以實(shí)施這一策略,主要是為了在短時(shí)間內(nèi)提高CPU 利用率,以免CPU 空間閑置,同時(shí),實(shí)現(xiàn)I/O 操作和CPU 計(jì)算同步操作目標(biāo)。具體并發(fā)策略為:一個(gè)進(jìn)程處理一個(gè)連接,非阻塞I/O;一個(gè)線程處理一個(gè)連接,非阻塞IO;一個(gè)進(jìn)程處理多個(gè)連接,異步I/O;一個(gè)線程處理多個(gè)連接,異步IO。最為重要的是,優(yōu)化硬件環(huán)境,即通過(guò)scaleup方式從整體上提高Web 服務(wù)器并發(fā)性能[5]。
綜上所述,基于LAMP 架構(gòu)優(yōu)化服務(wù)器并發(fā)性能,這能有效彌補(bǔ)傳統(tǒng)WPTM 模型的不足,通過(guò)充分發(fā)揮LAMP 架構(gòu)優(yōu)勢(shì),掌握服務(wù)器并發(fā)性能優(yōu)化注意事項(xiàng),并制定可行的、合理的服務(wù)器并發(fā)性能優(yōu)化策略,確保Web 服務(wù)器穩(wěn)定運(yùn)行。因此,行業(yè)從業(yè)者應(yīng)以此為借鑒,探究服務(wù)器并發(fā)性能優(yōu)化的有效路徑。