成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

創(chuàng)建MySQL索引大幅優(yōu)化某PHP應(yīng)用性能

本篇文章給大家?guī)?lái)了關(guān)于mysql的相關(guān)知識(shí),其中主要介紹了關(guān)于索引大幅優(yōu)化某PHP應(yīng)用性能的相關(guān)內(nèi)容,下面一起來(lái)看一下,希望對(duì)大家有幫助。

創(chuàng)建MySQL索引大幅優(yōu)化某PHP應(yīng)用性能

起因

前兩個(gè)月某朋友要做一個(gè)項(xiàng)目,本著快速上線推廣的目的,直接購(gòu)買了某公司的源碼并讓賣家部署上線??吹皆创a后,我直接對(duì)朋友說(shuō):算是被小坑了,這個(gè)源碼質(zhì)量有點(diǎn)差,用戶數(shù)起來(lái)后可能會(huì)有比較嚴(yán)重的性能問(wèn)題。

做出這樣的評(píng)價(jià),我是有依據(jù)的:

  • 作為近乎實(shí)時(shí)應(yīng)用,核心代碼用PHP編寫,通過(guò)數(shù)據(jù)庫(kù)表記錄控制許多場(chǎng)景的并發(fā)和重復(fù)請(qǐng)求;

  • PHP開發(fā)不是問(wèn)題,但對(duì)方工程師似乎不知道有CLI模式,而是通過(guò)計(jì)劃任務(wù)(crontab)達(dá)到程序不停運(yùn)轉(zhuǎn),于是乎浩浩蕩蕩幾十條curl計(jì)劃任務(wù)每分鐘執(zhí)行;

  • 代碼中有不少 class1.php, class1-1.php這樣復(fù)制備份的文件,一眼看過(guò)去很難知曉其存在目的;

  • 存在不少for循環(huán)讀取數(shù)據(jù)庫(kù)的代碼,命名規(guī)則混亂。

當(dāng)然,能賺錢的代碼才是好代碼(對(duì)方就通過(guò)這些代碼賺錢了),我也沒多去糾結(jié)。最初的想法是,4核8G的配置,跑1萬(wàn)個(gè)客戶應(yīng)該很難,跑5000就可以了。

轉(zhuǎn)折

就在這周,忽然頻繁接到 阿里云 的報(bào)警短信和郵件,說(shuō)CPU占用過(guò)高。心想市場(chǎng)推廣很順利,用戶大增嗎?一問(wèn)朋友,才不到300個(gè)用戶!

創(chuàng)建MySQL索引大幅優(yōu)化某PHP應(yīng)用性能

這時(shí)才意識(shí)到,這套代碼實(shí)際表現(xiàn)比我想想中的更差,有嚴(yán)重的性能問(wèn)題。按照這個(gè)資源消耗速度,升級(jí)硬件是無(wú)底洞,性能優(yōu)化才是正途。

性能優(yōu)化

拿到代碼兩個(gè)月了,閑暇時(shí)間偶爾會(huì)看一下,已經(jīng)大體知道其結(jié)構(gòu)和主要功能。現(xiàn)在出現(xiàn)了嚴(yán)重性能問(wèn)題,是時(shí)候嘗試做一些性能優(yōu)化了。

鑒于幾十個(gè)計(jì)劃任務(wù)不停運(yùn)行,其不斷驅(qū)動(dòng)系統(tǒng)運(yùn)轉(zhuǎn),因此計(jì)劃任務(wù)的相關(guān)功能是最先被了解的。根據(jù)自己的理解,首先暫停了二十多個(gè)已經(jīng)不需要的計(jì)劃任務(wù)。暫停無(wú)用計(jì)劃任務(wù)后,系統(tǒng)總體CPU使用率下降到了60%多,煩人的提醒短信和郵件終于消停了。等待了一天,朋友也沒有反饋有功能受影響,說(shuō)明思路和出手點(diǎn)都正確。

但是200多個(gè)用戶就這么消耗資源,一定還有什么地方不對(duì)勁。今天有空又登錄服務(wù)器,執(zhí)行top命令,發(fā)現(xiàn)MySQL進(jìn)程一直占據(jù)200%多的CPU資源??催^(guò)源碼的我知道MySQL占用高是有原因的并且是可能的,但還是想看看為什么這么耗資源。

登錄MySQL服務(wù)器,查看是否開啟了slow log:show variables like '%slow%';,發(fā)現(xiàn)開啟了慢查詢?nèi)罩荆?/p>

創(chuàng)建MySQL索引大幅優(yōu)化某PHP應(yīng)用性能

接著查看日志,查到某條sql語(yǔ)句一直出現(xiàn)在日志中:

創(chuàng)建MySQL索引大幅優(yōu)化某PHP應(yīng)用性能

可以看到,執(zhí)行這條sql語(yǔ)句掃描了38萬(wàn)多行記錄。語(yǔ)句涉及到的兩張表一張有600多條記錄,另一張4萬(wàn)多條記錄,相當(dāng)于全表掃描了4萬(wàn)多的表好幾次,怪不得特別慢。

接著檢查兩張表的索引,除了自增id作為主鍵外,沒有創(chuàng)建其他索引。使用explain執(zhí)行語(yǔ)句,顯示沒有使用任何索引:

創(chuàng)建MySQL索引大幅優(yōu)化某PHP應(yīng)用性能

接下來(lái),在兩張表上分別就查詢條件的uid、session_id列上創(chuàng)建索引。索引創(chuàng)建完成后,肉眼可見的CPU占用率和系統(tǒng)負(fù)載都降下來(lái)了。再次使用explain執(zhí)行查詢語(yǔ)句,索引信息已經(jīng)用上了,掃描行數(shù)大大減少:

創(chuàng)建MySQL索引大幅優(yōu)化某PHP應(yīng)用性能

經(jīng)過(guò)上面的優(yōu)化,目前應(yīng)用的總體CPU占用率在5%左右,MySQL的CPU占用率大約為15%,系統(tǒng)負(fù)載從4降到了0.3。終于暫時(shí)不用擔(dān)心性能問(wèn)題了,即使服務(wù)器配置降到1核CPU也能撐得住。

進(jìn)一步查看代碼并結(jié)合日志,創(chuàng)建索引和修改部分查詢語(yǔ)句,CPU占用率降到6%左右,終于暫時(shí)不用擔(dān)心性能問(wèn)題了

總結(jié)

工程師在開發(fā)工程中,不僅要寫出“能用”的代碼,更要寫出“好用”的代碼。本例中通過(guò)創(chuàng)建兩個(gè)索引就能大幅提升系統(tǒng)性能,便是讓代碼從“能用”轉(zhuǎn)到“好用”。

本文提到的性能優(yōu)化偏運(yùn)維,代碼中的性能優(yōu)化暫時(shí)還未觸碰。但一個(gè)總體的原則是不會(huì)錯(cuò)的:多使用緩存,盡可能的減少慢IO設(shè)備的同步讀取。

推薦學(xué)習(xí):《mysql視頻教程》、《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
亚洲精华液一二三产区| 一二三四视频社区在线播放中国| 亚洲AV最新天堂网址| 亚洲人77777在线观看| 亚洲中文字幕精品一区二区三区| 在公交车上弄到高C了| H系列高强无收缩灌浆料黄文| 被医生吃奶吃高潮了H| 国产成人精品日本亚洲专区不卡| 国产精品香港三级国产AV| 加比勒色综合久久| 免费观看男女AV入口网站| 人妻少妇HEYZO无码专区| 天堂8中文在线最新版官网| 亚洲AV无码日韩AⅤ无码忘忧草| 亚洲中文久久精品无码软件| 2020无码天天喷水天天爽| 成·人免费午夜无码不卡| 国产超碰人人模人人爽人人喊| 国产午夜精品无码理论片| 久久久久久久波多野结衣高潮| 女口述第一次放进去的感受| 日韩精品免费一线在线观看| 亚洲AV成人无码网站在线| 影音先锋亚洲亚洲色图| 草草久久久无码国产专区| 国产乱妇乱子在线播放视频| 久久午夜福利无码1000合集| 人妻系列综合第一页| 无遮挡呻吟娇喘视频免费播放| 亚洲综合激情七月婷婷| 被夫の上司に犯中文字幕| 国产麻花豆剧传媒精品MV| 狂躁美女大BBBBBB视频1| 日本一区二区三区免费播放| 亚洲AV日韩AV无码AV| 中文字幕精品无码| 福利乱码卡一卡二卡新区| 精品一区二区三区国产在线观看 | 韩国免费A级作爱片视频| 免费无码不卡视频在线观看| 调教秘书跪趴撅起来打光屁股作文| 亚洲欧洲日产V一个人免费观看视频WWW高清 | 亚洲熟伦熟女新五十路熟妇| 成年丰满熟妇午夜免费视频| 极品少妇被啪到呻吟喷水| 欧洲成人午夜精品无码区久久 | 天天做天天摸天天爽天天爱| 夜夜高潮夜夜爽国产伦精品| 饭桌上故意张开腿让公H| 久久超碰97人人做人人爱| 日韩精品卡2卡3卡4卡5| 亚洲中文字幕A∨| 国产AV无码专区亚洲AV麻豆丫| 久久人人玩人妻潮喷内射人人| 少女たちよ在线观看完整版动漫| 硬插人妻一区二区三区| 国产精品美女久久久网站动漫| 免费又黄又爽1000禁片| 亚洲 另类 在线 欧美 制服| YY4480高清影院播放器| 精品人妻无码一区二区色欲AⅤ| 日本高清色视频WWW·174| 亚洲综合色区另类AV| 国产妇女馒头高清泬20P多毛| 乱肉怀孕又粗又大| 午夜精品射精入后重之免费观看| A在线视频播放观看免费观看| 精品国产AⅤ一区二区三区| 日本一区二区三区久久久久久久久| 一夲道中文字幕AV高清片| 国产精品久久久久久免费软件| 女主快穿到各个世界做小三| 亚洲另类春色国产精品| 国产成人啪精品视频免费网站软件 | 少妇被粗大的猛烈进出视频| 中文字幕日韩人妻不卡一区| 含羞草实验室隐藏路径2023 | 女人被狂躁c到高潮视频| 亚洲精品成人片在线播放| 丰满少妇弄高潮了WWW| 免费十大软件大全下载安装| 亚洲高清中文字幕在线看不卡 | 撕开奶罩揉吮奶头视频| A级毛片无码兔费真人久久| 久久久综合九色综合鬼色| 无人区码卡二卡乱码字幕| 被两个男人按住吃奶好爽| 久久影院午夜理论片无码| 亚洲爆乳成AV人在线蜜芽| 国产成人精品综合在线观看 | 国产AV国片精品一区二区| 欧美性XXXX极品少妇| 又色又爽又黄18禁美女裸身无遮 | 一本一道AV无码中文字幕麻豆| 国产色视频一区二区三区| 搡老女人老妇女老熟女偷拍| A级毛片无码兔费真人久久| 麻花传媒MV在线播放高清MBA | 女人另类牲交ZOZOZO| 永久免费AV网站| 精品人妻中文AV一区二区三区| 无码少妇一区二区性色AV| 粉嫩小泬无遮挡久久久久久小说| 热RE99久久精品国产99热| 97精品伊人久久久大香线蕉| 久久久久国产亚洲AⅤ麻豆| 亚洲国产成人极品综合| 国产一卡二卡四卡无卡免费| 无码人妻毛片丰滿熟婦区毛片色欲| 东京热一区二区三区| 任你躁X7X7X7X7在线观看| JAPANESEⅩⅩⅩHD护士| 女人脱精光让人桶爽了| 24小时日本免费观看WWW| 蜜臀av蜜臀一区二区三区| 淫荡集团69视频在线观看| 久久WWW免费人成一看片| 亚洲国产午夜精品理论片| 交换配乱吟粗大SNS840| 亚洲成人免费AV| 精品露脸国产偷人在视频 | 熟女高潮精品一区二区三区| 给老子叫 老子喜欢听| 色欲人妻AAAAAA无码| 帝王怀孕肚腹圆隆憋尿| 三个女儿一锅烩大团圆全文阅读 | 亚洲AV永久无码精品黑人| 国产揄拍国产精品| 亚洲AV永久无码精品桃花岛知道| 国产真实伦在线观看| 亚洲VA中文字幕无码毛片| 激情影视乱码AV| 亚洲色精品88色婷婷七月丁香| 久久精品国产精品国产精品污| 亚洲熟妇色XXXXX中国少妇Y| 久久人爽人人爽人人片AV| 宅男666在线永久免费观看| 奶头被民工们吸得又红又肿怎么办| 2021久久天天躁狠狠躁夜夜 | 无遮高潮国产免费观看| 国产日韩精品一区二区三区在线观 | 国产精品美女WWW爽爽爽视频| 午夜影视免费观看2023| 豪妇荡乳1一5潘金莲2在线| 亚洲乱亚洲乱妇无码麻豆| 久久久久精品老熟女国产精品| 在线观看视频一区二区三区| 欧美激情国产精品视频一区| 爱情岛论坛线路一官方网站| 色狠狠久久AV北条麻妃| 国产老熟女八AV| 亚洲欧美日本中文字不卡| 久久综合伊人77777麻豆| 97SE狠狠狠狠狼亚洲综合网| 日本一本2017国产| 国产精品成人一区二区三区视频| 亚洲AV无码专区国产乱码波多野| 久久97超碰人人澡人人爱| 中文字幕丰满伦子无码| 人人做人人爽人人爱| 国产成人无码综合亚洲日韩| 亚洲国产AV高清无码| 两个女人互添下身爽舒服小说| JK制服白丝自慰出水| 四虎影视在线观看2413| 护士HD老师FREE性ⅩⅩⅩⅩ| 岳又紧又嫩又多水好爽| 人人妻人人澡人人爽秒播| 国产精品视频免费播放| 亚洲午夜久久久久久噜噜噜| 欧美丰满熟妇乱XXXXX视频| 高清一区二区三区日本久| 亚洲成A人片在线观看无码 | 97精品一区二区视频在线观看| 三上悠亚SSNI452内衣模特 | 亚洲高清毛片一区二区| 女人18毛片水真多免费看 | 天天拽天天狠天天透| 九九精品99久久久香蕉| CC小恩雅透明内抹油的使用方法| 熟妇女人妻丰满少妇中文字幕性生活 | 久久精品人妻少妇一区二区| MD豆传媒一二三区进站口在线看 | 日日噜狠狠噜天天噜AV | 人人妻人人澡人人爽超污| 国精产品一区二区三区糖心269| 中文在线А√在线| 四虎永久在线精品免费网址 | A阿V天堂亚洲阿∨天堂在线| 婷婷综合另类小说色区 | 精品国产黑色丝袜高跟鞋| AV夜夜躁狠狠躁日日躁| 无码人妻精品一区二区三区东京热| 久久亚洲中文字幕伊人久久大| 成 人 A V天堂| 亚洲乱码日产精品BD在| 日本老熟妇毛茸茸| 久久成人无码专区| 非洲人与性动交CCOO|