欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

優(yōu)化PHP的案例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹優(yōu)化PHP的案例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)主營廣南網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),廣南h5微信小程序開發(fā)搭建,廣南網(wǎng)站營銷推廣歡迎廣南等地區(qū)企業(yè)咨詢

網(wǎng)站架構(gòu)簡介:
現(xiàn)在很多的企業(yè)都是使用lnmp或者lamp來做企業(yè)的網(wǎng)站服務(wù)器架構(gòu),這兩種網(wǎng)站的服務(wù)架構(gòu),我們都是比較熟悉的;基于nginx的性能優(yōu)于Apache,現(xiàn)階段的很多公司,都是逐漸把Apache替換成nginx,畢竟nginx的自帶的高可用配置,反向代理等等功能相當(dāng)突出。

Lnmp網(wǎng)站服務(wù)器架構(gòu),其實(shí)就是linx+nginx+mysql+php架構(gòu)體系,架構(gòu)安裝我就不多說了。接下來我們來談?wù)劊矣龅桨咐?/p>

案例:

有一天,后臺的同事,說后臺訪問很慢,而且有時候出現(xiàn)502錯誤。然后反饋給技術(shù)上級,接著又找到我處理一下(那時在喝著茶),然后我知道又有事干了。

分析:

然后我直接找到那個同事,問問是不是網(wǎng)絡(luò)原因啊,我也叫其他的同事,訪問一下,還是出現(xiàn)訪問忙的問題。這時我就知道事情沒那么簡單了。公司應(yīng)用的是lnmp網(wǎng)站服務(wù)器架構(gòu),以前沒有做太多的優(yōu)化,接下來我們需要優(yōu)化網(wǎng)站的服務(wù)架構(gòu)了

一、案例分析。

我們可以想到,既然是訪問緩慢,有時候直接訪問不了,以前是沒問題的,到現(xiàn)在就突然出現(xiàn)了問題,那必定是我們的nginx與php響應(yīng)不過來導(dǎo)致的,原因可能是其他域名網(wǎng)站的用戶連接數(shù)巨增導(dǎo)致的。那我們找到問題的根源解決并優(yōu)化就可以了。接著憑著自己的經(jīng)驗(yàn)與百度,去解決問題。

二、問題解決與過程分析

1、Nginx優(yōu)化:

1、查看nginx的日志,找出錯誤

`$` cat `/usr/local/nginx/logs/error.log` | grep `error`

沒發(fā)現(xiàn)錯誤,正常

查看后臺域名的access.logs

$ cat /var/log/access_nging.log | grep error

(這里沒及時截到圖,日志是被刷了,本地做了日志切割,并定時刪除了)

發(fā)現(xiàn)日志日志里面可以找到error錯誤信息,并且有十幾個502錯誤。找到出現(xiàn)的問題了。

2、問題分析以及nginx優(yōu)化

1、nginx打開文件數(shù)限制導(dǎo)致的。

1)、首先我們想到可能的原因nginx的打開文件書的問題,增加nginx的打開文件數(shù)

進(jìn)入nginx配置文件,發(fā)現(xiàn)打開文件數(shù)為4096,果不其然,打開文件數(shù)沒有調(diào)到很好,可能是這個原因?qū)е碌?。我們需要?096改為51200;保存重新加載nginx

vim /usr/local/nginx/conf/nginx.conf
worker_rlimit_nofile 51200;
events {
worker_connections 51200;
}
service nginx relaod

2)、Linux系統(tǒng)文件限制

我們改了nginx的打開文件配置,不一定有用,我們需要看一下系統(tǒng)的限制的打開文件數(shù)

ulimit –n

我們可以看到系統(tǒng)的文件打開數(shù)量也是4096,接下來,我們更改一下系統(tǒng)的打開文件數(shù),并配置永久生效。

進(jìn)入配置文件

vim /etc/security/limits.conf

更改參數(shù):

  • soft nofile 65535

  • hard nofile 65535

  • soft nproc 65535

  • hard nproc 65535

    注:系統(tǒng)限制可以隨便改,我只要比nginx的打開文件數(shù)大就好。

3、nginx的fastcgi連接時間太短導(dǎo)致的。

一般nginx響應(yīng)php,都是通過FastCGI接口來調(diào)用,所以fastcgi參數(shù)配置很重要,當(dāng)HTTP服務(wù)器每次遇到動態(tài)程序時,可以將其直接交付給FastCGI進(jìn)程來執(zhí)行,然后將得到的結(jié)果返回給瀏覽器,而很多php的網(wǎng)頁都是采用動態(tài)程序。所以fastcgi的配置,也起的至關(guān)重要的作用。所以這是一個優(yōu)化不可缺少的一部分。

進(jìn)入nginx.conf配置文件

vim /usr/local/nginx/conf/nginx.conf

把fastcgi的connect、send、read的參數(shù)的時間改成300,配置如下:

重新加載nginx

service nginx reload

4、訪問域名測試。

重新訪問域名,發(fā)現(xiàn)網(wǎng)頁已經(jīng)加載出來了,持續(xù)訪問了幾次,發(fā)現(xiàn)訪問還是有點(diǎn)慢,雖然訪問穩(wěn)定了。到這里,我們就可以把問題指向到php里面了,繼續(xù)下一步的php優(yōu)化。

2、Php優(yōu)化:

1、查看php日志

首先,我們需要跟nginx的操作一樣,需要先查看一下日志。

tail -n 100 /usr/local/php/var/log/php-fpm.log

在日志里面我們可以發(fā)現(xiàn),php日志出現(xiàn)警告

WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)

從告警的意思,我們知道php出現(xiàn)告警了,而且是叫我們增加php的,pm.start_servers, or pm.min/max_spare_servers的值。

2、原因分析

首先我們,看到日志只是出現(xiàn)這個警告,證明還不是很嚴(yán)重,至于為什么出現(xiàn)源碼交易這個警告,接下來我們一起分析一下。

首先我們很明確的知道,pm.start_servers,、pm.min/max_spare_servers在php里面是起著啥作用先,為什么會出現(xiàn)這個警告。我先把的以前的配置參數(shù)貼一下。

接下來我們分析一下這幾個參數(shù)的作用:

參數(shù)分析:

·pm= dynamic 表示php啟用的動態(tài)模式 注: php有動態(tài)和靜態(tài)(static)兩種工作模式,默認(rèn)是動態(tài)模式。

·pm.max_children 表示靜態(tài)下較大線程數(shù)

·pm.start_servers 表示動態(tài)下啟動時的線程數(shù),該參數(shù)大于pm.min_spare_servers,小于pm.max_spare_servers

·pm.min_spare_servers 表示動態(tài)下最小空閑線程數(shù)

·pm.max_spare_servers 表示動態(tài)下較大空閑線程數(shù)

工作模式:

Static模式

當(dāng)工作模式設(shè)置為靜態(tài)后,就只有pm.max_children項(xiàng)有效,即表示php-fpm工作時一直保持的線程數(shù)。

Dynamic模式

動態(tài)模式下,與他相關(guān)的參數(shù)有pm.start_servers、pm.min_spare_servers 、pm.max_spare_servers,分別表示開啟的php進(jìn)程數(shù),最小的進(jìn)程數(shù)、與較大的進(jìn)程數(shù)。

模式比較:

靜態(tài)模式的話,比較適合一些內(nèi)存比較大一點(diǎn)的服務(wù)器,8G及以上的,因?yàn)閷τ诒容^大內(nèi)存的服務(wù)器來說,設(shè)置為靜態(tài)的話會提高效率。

動態(tài)模式適合小內(nèi)存機(jī)器,靈活分配進(jìn)程,省內(nèi)存??梢宰宲hp自動增加和減少進(jìn)程數(shù),不過動態(tài)創(chuàng)建回收進(jìn)程對服務(wù)器也是一種消耗。

3、php參數(shù)優(yōu)化

首先我們需要考慮一下問題,如何去調(diào)試參數(shù),達(dá)到優(yōu)化的目的呢,一般來說開始的時候一個php-fpm進(jìn)程只占用3M左右內(nèi)存,但是運(yùn)行一段時間后就會上升到20-40M,這是因?yàn)镻HP程序在執(zhí)行完成后,或多或少會產(chǎn)生內(nèi)存的泄露。

所以按理來說php的較大的進(jìn)程數(shù),大概是本地內(nèi)存/40,因?yàn)橐惨紤]系統(tǒng)占用內(nèi)存的的這種情況,我們不能直接把除處理的結(jié)果,當(dāng)成的較大進(jìn)程數(shù),不然你會死翹翹的。

我的服務(wù)器是8G內(nèi)存的,所以按理來說是,較大的php進(jìn)程數(shù)是200左右,所以按這個參數(shù)我做了一下調(diào)整:

采用靜態(tài)模式,較大進(jìn)程數(shù)設(shè)為125-150之間,搞定。

重新加載php

service php-fpm relod

查看進(jìn)程數(shù):

netstat -anpo | grep php-fpm | wc -l

`128`

效果達(dá)到了

4、結(jié)果

重新訪問,發(fā)現(xiàn)訪問php頁面快了很多,查看日志,沒出現(xiàn)告警了,后臺訪問也好了。

3、壓測

一個網(wǎng)站的性能好不好,承受量有多高,這個我們可以通過壓測去,去獲取數(shù)據(jù),我這里簡單介紹ab工具來做壓測,用法如下

ab -n 1000000   -c 10000  (一個php文件)

-n參數(shù)表示 你壓力測試 總量

-c參數(shù)表示 你的模擬的并發(fā)用戶數(shù)

Ab壓力測試工具,是apache自帶的,用起來也方便,只要本地有,就可以遠(yuǎn)程測你的服務(wù)器的性能了。個人覺得還是可以了,下面是模擬一千個用戶訪問100000次的結(jié)果,但然你自己壓測的時候,慢慢的提升參數(shù),測試你的網(wǎng)站的瓶頸。

以上是“優(yōu)化PHP的案例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

名稱欄目:優(yōu)化PHP的案例分析-創(chuàng)新互聯(lián)
文章URL:http://aaarwkj.com/article30/phopo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、品牌網(wǎng)站制作電子商務(wù)、服務(wù)器托管、小程序開發(fā)、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
精品综合亚洲中文字幕| 亚洲国产欧美日韩在线| 日韩精品激情视频在线| 亚洲精品露脸自拍高清在线观看| 中文字幕日本人妻乱码| 国产欧美一区二区三区高清| 成年免费视频一区二区三区 | 色哟哟精品丝袜一区二区| 日韩精品一区二区三区夜色| 18禁在线免费观看网站| 一本久久精品午夜福利| 亚洲熟妇亚洲熟妇亚洲熟妇| 成人性生活毛片免费视频| 欧美国产大片一区视频| 亚洲人色中文字幕天堂| 97视频在线中文字幕| 九九视频在线观看免费观看| 亚洲国产精品日韩专区av有中文| 四虎久久久最新网址| 午夜精品三级一区二区三区| 顶级少妇做爰片高潮丸| 18禁黄网站免费观看在线| 麻豆精品国产粉嫩av| 精品一区无遮挡免费网站| 国产精品亚洲伦理在线| 日韩欧美国产精品一区二区| 97国产在线视频观看| 人成在线免费视频网站| 蜜臀综合亚洲国产精品| 国产做a爰片久久91| 日韩一区二区亚洲精品| 91国内精品手机在线高清| 漂亮人妻少妇中文字幕| av天堂高清在线观看| 91麻豆视频福利视频| 我要看亚洲黄色片一级| 99精品欧美一区二区三区视频| 亚洲国产成人精品女人| 日本 午夜 在线 视频| 大香蕉国产精品视频在线| 国产精品av一区二区在线|