PHP語言開發(fā)高并發(fā)的網(wǎng)站,需要加緩存,復(fù)雜邏輯走消息隊(duì)列異步處理,mysql查詢必須走索引,還搞不定就加機(jī)器分流,mysql配置升高并且一主多從,使用codis集群,增加消息隊(duì)列的消費(fèi)者,如果還搞不定就隨機(jī)拒絕請(qǐng)求,當(dāng)然這是最后的退路。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、阜寧網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為阜寧等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
緩存
緩存是避免業(yè)務(wù)查詢過多的請(qǐng)求mysql,導(dǎo)致業(yè)務(wù)不可用,段氏根據(jù)場(chǎng)景來判斷是否需要使用codis集群,如果并發(fā)量沒有達(dá)到某個(gè)級(jí)別,16G的redis也可以,但是要避免redis在高并發(fā)下容易發(fā)生的緩存穿透,盡量做成高可用,并保證緩存實(shí)現(xiàn)的命中率。
消息隊(duì)列
這也是高并發(fā)情境下的殺手锏,削峰填谷,將耗時(shí)的業(yè)務(wù)邏輯直接以隊(duì)列的形式異步慢慢處理,防止請(qǐng)求過度積壓,導(dǎo)致的服務(wù)器不可用。
mysql優(yōu)化
有些場(chǎng)景下必須查詢mysql的,也應(yīng)該走索引,避免多表聯(lián)合查詢,甚至mysql的事務(wù)隔離級(jí)別都盡量的降低,或者直接去掉事務(wù),采用最終一致性的補(bǔ)償指明機(jī)制。升級(jí)mysql的配置,核心數(shù)和內(nèi)存的提升對(duì)查詢速度的優(yōu)化是顯而易見的,最好能一步到位的走一主多從,查詢路由到從服務(wù)器上。
隨機(jī)拒絕請(qǐng)求
這不是開玩笑,我們必須保證服務(wù)器可用,寧愿拒絕掉一些請(qǐng)求,也不能讓服務(wù)器大量請(qǐng)求阻塞握逗散,最終導(dǎo)致大家都用不了。
可以采碧基用數(shù)據(jù)庫緩存、事務(wù)緩存等技巧。還可以從架構(gòu)上把事務(wù)做合理的分配,花錢擴(kuò)充你的硬件設(shè)施等。比如,阿里巴巴哪做從最初的1臺(tái)電腦逐步擴(kuò)充到過萬臺(tái)電腦了。
與PHP程序關(guān)系也非常大,比如,你發(fā)現(xiàn)了網(wǎng)站反應(yīng)慢的第一因素是因?yàn)槟硞€(gè)表非常大,你的網(wǎng)頁從那個(gè)庫表中讀寫時(shí)間非常長(zhǎng),可以考慮用一個(gè)原則把數(shù)據(jù)庫表分段,每一段存到不同的計(jì)算機(jī)上去保存,你的程序需要讀寫那個(gè)表的時(shí)候,先判斷要讀寫的內(nèi)容屬于哪一段的,然后再去從已經(jīng)建立了永久連接的清單中找到對(duì)應(yīng)段的連接來用。
阿里巴巴有個(gè)例子:每一種商品的屬性字段內(nèi)容打印出來就要5頁A4紙,160多萬種商品,如果你要從包含了悔緩謹(jǐn)商品屬性字段的那張表中進(jìn)行讀寫,該是多長(zhǎng)時(shí)間?
本文題目:php高并發(fā)三種解決方法數(shù)據(jù)庫 php高并發(fā)高可用
標(biāo)題網(wǎng)址:http://chinadenli.net/article37/dspggsj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站制作、關(guān)鍵詞優(yōu)化、域名注冊(cè)、企業(yè)建站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)