国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

職業(yè)規(guī)劃應(yīng)用平臺運(yùn)行環(huán)境環(huán)境分析

2015-10-08 11:32:16胡冀川黃代榮
科技視界 2015年27期
關(guān)鍵詞:職業(yè)規(guī)劃

胡冀川 黃代榮

【摘 要】LAMP環(huán)境主要是指在Linux操作系統(tǒng)上使用Apache、Mysql、PHP軟件搭建的動態(tài)網(wǎng)站和開源服務(wù)器環(huán)境。研究在Linux發(fā)行版本CentOS上實(shí)現(xiàn)網(wǎng)站環(huán)境的優(yōu)化。CentOS環(huán)境下面搭建的網(wǎng)站環(huán)境相對windows環(huán)境具有很大優(yōu)勢,但采用新的技術(shù)手段對提高環(huán)境的訪問速度、處理能力、安全性是很有必要的,對降低硬件成本有相當(dāng)大幫助。

【關(guān)鍵詞】職業(yè)規(guī)劃;LAMP;CentOS;Apache;MySQL;PHP

1 LAMP網(wǎng)站環(huán)境使用情況分析

LAMP作為一種開源的環(huán)境,由于具有簡易性、安全性、低成本、靈活擴(kuò)展性等特點(diǎn)或優(yōu)勢,LAMP架構(gòu)應(yīng)用的普及范圍擴(kuò)大,已從簡單、小型系統(tǒng)的應(yīng)用擴(kuò)充到復(fù)雜、大型系統(tǒng)的應(yīng)用,形成了一種發(fā)展潮流。

1.1 LAMP大環(huán)境

根據(jù)PHPChina資料統(tǒng)計(jì)顯示在Alexa排名中國前200名的網(wǎng)站中有61%的采用LAMP環(huán)境,這其中包括騰訊、百度、雅虎、新浪、搜狐、Tom等一大批國內(nèi)知名網(wǎng)站平臺。

隨著開源潮流的蓬勃發(fā)展,開放源代碼的LAMP已經(jīng)與J2EE和.Net商業(yè)軟件形成三足鼎立之勢,并且該軟件開發(fā)的項(xiàng)目在軟件方面的投資成本較低,因此受到整個IT界的關(guān)注。從網(wǎng)站的流量上來說,70%以上的訪問流量是LAMP來提供的,LAMP是最強(qiáng)大的網(wǎng)站解決方案。

1.2 CentOS

在distrowatch.com網(wǎng)站上面關(guān)于最近12個月全球Linux的279種發(fā)行版本的統(tǒng)計(jì)信息可以看到,在Linux大家族中占據(jù)第7的位置。并且從近一個月的統(tǒng)計(jì)信息看出其上升趨勢很明顯。

在服務(wù)器端的優(yōu)勢更加的明顯,在云服務(wù)器時代,CentOS通常被視為一套穩(wěn)定可靠的服務(wù)器發(fā)行版操作系統(tǒng)來使用,穩(wěn)定性突出、可靠性拔群,并針對最新軟件及功能提供長期支持,使其在Linux家族中占得一席之地。

1.3 Apache

根據(jù)NetCraft公司的統(tǒng)計(jì)數(shù)據(jù)顯示,Apache服務(wù)器軟件穩(wěn)穩(wěn)的占據(jù)第一的位置,市場占有度操作一半。

1.4 Mysql

MySQL數(shù)據(jù)庫作為一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),很受到公司和個人的喜愛,在DB-Engines網(wǎng)站上查詢到的相關(guān)信息可以看出長期占據(jù)第二的位置,增長趨勢也是很明顯的。

2 LAMP優(yōu)化

職業(yè)規(guī)劃應(yīng)用平臺的LAMP環(huán)境中,我們從將優(yōu)化工作分為PHP程序優(yōu)化、MySQL數(shù)據(jù)庫優(yōu)化、Apache優(yōu)化、同時加入了Memcache和Redis緩存技術(shù),很大程度上提高了服務(wù)器處理效率,節(jié)約了硬件成本。

2.1 PHP程序優(yōu)化

由于PHP是一門腳本式的語言,相對于其它一些編程語言PHP有它不擅長做的事,比如處理deamon程序。我們針對PHP的優(yōu)化工作主要是兩方面,一方面是對php.ini配置文件的優(yōu)化,另一方面是代碼的優(yōu)化。

php.ini優(yōu)化當(dāng)中考慮到php內(nèi)置的一些函數(shù)如果運(yùn)用到工程會極大影響工程的質(zhì)量,在配置文件中禁止掉這些函數(shù)的使用是一種聰明的行為,我們在配置環(huán)境中就禁止了如exec,system,passthru等一系列的函數(shù)的使用,降低了函數(shù)使用的風(fēng)險性,同時也避免了當(dāng)程序出現(xiàn)漏洞時,產(chǎn)生系統(tǒng)級的影響。在php的默認(rèn)配置中為了方便開發(fā)者打開了錯誤輸出,在上線的環(huán)境中我們將display_errors配置設(shè)置為off,這樣既減少了開銷,同時也能夠屏蔽了當(dāng)發(fā)生錯誤的時候顯示一些相關(guān)的特殊的錯誤信息,影響系統(tǒng)的安全性。魔術(shù)引導(dǎo)php的使用是相當(dāng)不劃算的,在magic_quotes_gpc我們關(guān)閉了魔術(shù)引導(dǎo)的。在網(wǎng)站的目錄訪問上我們做了相當(dāng)嚴(yán)格的限制,限制非法的請求。

代碼優(yōu)化用很小的改變就可以帶來很有價值的結(jié)果。

1)代碼中盡量少的減少對文件的一系列操作,避免開銷,在代碼中必須使用文件操作中,把file、fopen、feof等文件操作函數(shù)用file_get_contents代替;

2)在對數(shù)據(jù)庫的操作當(dāng)中盡量少的使用INSERT、UPDATE操作;

3)盡可能的使用內(nèi)置函數(shù),在使用內(nèi)置函數(shù)的時候避免使用正則;

4)在對多維數(shù)組處理中減少循環(huán)嵌套的賦值,使用foreach代替while、for。

2.2 MySQL數(shù)據(jù)庫優(yōu)化

MySQL數(shù)據(jù)庫是比較優(yōu)秀的數(shù)據(jù)管理系統(tǒng),在使用當(dāng)中一些簡單的優(yōu)化工作會很大程度提高數(shù)據(jù)的使用效率。

1)設(shè)計(jì)優(yōu)化:存儲引擎將MySQL中數(shù)據(jù)用各種不同的技術(shù)存儲在文件(或者內(nèi)存)中。Cobar是阿里巴巴研發(fā)的關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng),該產(chǎn)品成功替代了原先基于Oracle的數(shù)據(jù)存儲方案,目前已經(jīng)接管了3000+個MySQL數(shù)據(jù)庫的schema,平均每天處理近50億次的SQL執(zhí)行請求;數(shù)據(jù)的編碼方式上統(tǒng)一使用utf8,避免產(chǎn)生亂碼問題,在表字段設(shè)計(jì)中考慮需求,避免了存儲空間的浪費(fèi);

2)軟件優(yōu)化:采用mysql復(fù)制,實(shí)現(xiàn)讀寫分離、負(fù)載分?jǐn)偟炔僮魈岣邤?shù)據(jù)交換的效率;對數(shù)據(jù)表進(jìn)行垂直拆分和水平拆分,優(yōu)化查詢;

3)配置優(yōu)化:索引緩沖參數(shù)設(shè)置,對將會使用到JOIN,WHERE判斷和ORDER BY的字段創(chuàng)建索引,也避免對含有重復(fù)值過多的字段創(chuàng)建索引;在配置中設(shè)置線程連接超時參數(shù)和線程冰法利用數(shù)量。

2.3 緩存技術(shù)

影響網(wǎng)站性能的很大原因是Apache同MySQL之間進(jìn)行頻繁的數(shù)據(jù)交換數(shù)據(jù)查詢,這在很大程度上影響到了性能。但是動態(tài)網(wǎng)站的內(nèi)容必然來至于數(shù)據(jù)庫,如果有方法將動態(tài)網(wǎng)頁內(nèi)容靜態(tài)化,將動態(tài)網(wǎng)站中的部分內(nèi)容靜態(tài)化,減少每個用戶的數(shù)據(jù)庫訪問量。memcache是一套分布式的高速緩存系統(tǒng),MemCache的工作流程如下:先檢查客戶端的請求數(shù)據(jù)是否在memcache中,如有,直接把請求數(shù)據(jù)返回,不再對數(shù)據(jù)庫進(jìn)行任何操作;如果請求的數(shù)據(jù)不在memcache中,就去查數(shù)據(jù)庫,把從數(shù)據(jù)庫中獲取的數(shù)據(jù)返回給客戶端,同時把數(shù)據(jù)緩存一份到memcache中(memcache客戶端不負(fù)責(zé),需要程序明確實(shí)現(xiàn));每次更新數(shù)據(jù)庫的同時更新memcache中的數(shù)據(jù),保證一致性;當(dāng)分配給memcache內(nèi)存空間用完之后,會使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效數(shù)據(jù)首先被替換,然后再替換掉最近未使用的數(shù)據(jù)。當(dāng)一個用戶訪問數(shù)據(jù)庫后,將會把更新緩存中的數(shù)據(jù),當(dāng)下一個用戶請求訪問的時候,會先檢查緩存中是否存在該數(shù)據(jù),如果存在直接使用數(shù)據(jù),既提高了訪問的速度,也減輕了MySQL的壓力。

【參考文獻(xiàn)】

[1]楊明華,等.LAMP網(wǎng)站開發(fā)黃金組合LINUX+APACHE+MYSQL+PHP[M].電子工業(yè)出版社,2008.

[2]曾棕根.LAMP(PHP)程序設(shè)計(jì)[M].北京大學(xué)出版社,2012.

[3][美]Tim Boronczyk.PHP & MySQL范例精解[M].清華大學(xué)出版,2009.

[責(zé)任編輯:鄧麗麗]

猜你喜歡
職業(yè)規(guī)劃
論社會適應(yīng)能力視角下的大學(xué)生職業(yè)規(guī)劃
大學(xué)生職業(yè)規(guī)劃與就業(yè)問題研究
指導(dǎo)大學(xué)生做好職業(yè)規(guī)劃的策略研究
活力(2019年21期)2019-04-01 12:18:54
如何在地理教學(xué)實(shí)踐中引導(dǎo)學(xué)生進(jìn)行職業(yè)規(guī)劃
安化县| 伊川县| 卓尼县| 张家川| 汝州市| 赣州市| 阿巴嘎旗| 桑日县| 景德镇市| 衡水市| 昌都县| 西丰县| 水富县| 太康县| 台东市| 栾城县| 通州区| 汾西县| 阜阳市| 惠来县| 浪卡子县| 遵义县| 江油市| 榆林市| 连平县| 东乌珠穆沁旗| 扎兰屯市| 北京市| 靖西县| 宁津县| 许昌市| 长丰县| 屯留县| 镇巴县| 达拉特旗| 郸城县| 墨玉县| 阜阳市| 鞍山市| 出国| 祁阳县|