<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        百萬級高并發(fā)網(wǎng)站MYSQL應(yīng)用攻略_MySQL

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 17:25:16
        文檔

        百萬級高并發(fā)網(wǎng)站MYSQL應(yīng)用攻略_MySQL

        百萬級高并發(fā)網(wǎng)站MYSQL應(yīng)用攻略_MySQL:在長時間的網(wǎng)站開發(fā)過程中,能作一個百萬IP的網(wǎng)站對我來說真是一個新的挑戰(zhàn),由于本人的水平有限,所以一直就職于一個小公司,在這里也只是抱著重在參與的想法。在以后我所講述到的內(nèi)容知識點上如有不適之處請大家多多批評指教。 在一開始接觸PHP接觸MYS
        推薦度:
        導(dǎo)讀百萬級高并發(fā)網(wǎng)站MYSQL應(yīng)用攻略_MySQL:在長時間的網(wǎng)站開發(fā)過程中,能作一個百萬IP的網(wǎng)站對我來說真是一個新的挑戰(zhàn),由于本人的水平有限,所以一直就職于一個小公司,在這里也只是抱著重在參與的想法。在以后我所講述到的內(nèi)容知識點上如有不適之處請大家多多批評指教。 在一開始接觸PHP接觸MYS

        在長時間的網(wǎng)站開發(fā)過程中,能作一個百萬IP的網(wǎng)站對我來說真是一個新的挑戰(zhàn),由于本人的水平有限,所以一直就職于一個小公司,在這里也只是抱著重在參與的想法。在以后我所講述到的內(nèi)容知識點上如有不適之處請大家多多批評指教。

          在一開始接觸PHP接觸MYSQL的時候就聽不少人說:“Mysql就跑跑一天幾十萬IP的小站還可以,要是幾百萬IP就不行了”,原話不記得了,大體就是這個意思。一直也沒有好的機會去驗證這個說法,一是從沒有接手過這么大流量的網(wǎng)站,二是平時工作也比較忙,懶得去管這些,反正現(xiàn)在用不著,抱著這個想法把這個問題一直留到了最近,才把這個問題搞明白。

          就在前幾天公司旗下一網(wǎng)站(由于這是公司的商業(yè)內(nèi)容我就不說是那個網(wǎng)站了,免得有兄弟說是AD)以下簡稱A站,這A站在年后流量猛增從一天的七八十萬猛跑到了好幾百萬的IP,一天下來接近一千萬的Pv讓整個服務(wù)器在高壓下超負荷的工作著,時不時的服務(wù)就出現(xiàn)當(dāng)機。

          最首先反映出情況的是數(shù)據(jù)統(tǒng)計,一天下來一個數(shù)據(jù)也沒有統(tǒng)計上,原來是mysql掛了。

          本文就圍繞這個問題來講講我們公司幾個技術(shù)人員的解決方案。

          1. Mysql服務(wù)器集群

          由于是小公司在資金和成本上都有所限制,而且在技術(shù)上也沒有幾個技術(shù)員接觸過,所以這個方法自然就讓大伙否決了。

          這里說說我個人的理解!做集群不但添加資費的開銷,而且在技術(shù)上也有很大的挑戰(zhàn),對于我們公司目前的情況是不大現(xiàn)實的。集群無非就是把一臺服務(wù)器的壓力轉(zhuǎn)接到兩臺或是多臺服務(wù)器上,我是這么理解的,也許我理解有誤,還請大家指教。

          2. 分而治之

          這個方法和集群差不多,不過是把統(tǒng)計的代碼放在不同的服務(wù)器上跑,由于公司有不少配置低的服務(wù)器跑幾萬到幾十萬IP還是沒有問題的,我們可以把幾百萬流量分成十來個幾十萬的量分而統(tǒng)計。

          優(yōu)點:充分的利用了現(xiàn)在的資源,解決了目前的問題。

          缺點:這樣的方法不是長久之計,遲早還是會出問題的。而且在統(tǒng)計數(shù)據(jù)的時候比較麻煩。

          3. 統(tǒng)計代碼的修改

          由于之前采用的是在插入數(shù)據(jù)之前加以判斷,這個IP是否存在,來路等的處理,無形中增加了服務(wù)器的壓力,所以大伙把統(tǒng)計代碼改成來一個就插入數(shù)據(jù)庫,不管三七二十一等以后在處理。

          這個方法基本上把當(dāng)天的數(shù)據(jù)保留下來了,可是在處理的時候由于數(shù)據(jù)量的龐大,來來回回還是把服務(wù)器跑死了,而且在插入的時候由于當(dāng)時設(shè)計數(shù)據(jù)結(jié)構(gòu)的時候留有的索引,也大大的消耗了不少的服務(wù)器資源。

          那么把索引去掉到最后處理的時候又是老慢的,得不償失。

          4. 統(tǒng)計方式的修改

          最后這一個方法,效果非常的明顯。那是什么方法呢!

          這里就主要介紹這個方法:

          A、 保留原用的數(shù)據(jù)結(jié)構(gòu)不變,并把所有的數(shù)據(jù)按一定的結(jié)構(gòu)存入文件。

          結(jié)構(gòu):可以是xml,json,也可以是你自己想的任何有規(guī)律的數(shù)據(jù)排放。

          例如:

        1 221.2.70.52,http://www.baidu.com,windowxp\r\n
        2 221.2.70.52,http://www.baidu.com,windowxp\r\n


        寫入文件:fopen,fwrite??no 這里介紹一個非常好用的技巧,也許大家都知道,但是像我這樣的菜鳥大概都不知道,那就是用error_log,這不是寫錯誤日志的嗎?對就是他,非常方便。

          格式:

        1 error_log("內(nèi)容", 3, "/date.dat");

        這里我就不說他的具體用了,不明白的朋友可以查一下手冊。

          B、數(shù)據(jù)文件的命名

          為什么這里要講文件的命名呢?如果就一味的把數(shù)據(jù)的寫入文件不作任何的處理那么他和直接插入數(shù)據(jù)庫有多大的區(qū)別呢?那么我們所作的一切都是無用功了。

          首先是在時間的利用上:date(‘YmdH’)得到的值是如:2008121112這有什么好入,這樣一來這個數(shù)據(jù)就是一個小時一個文件必免了文件過大,而且不用去判斷自動生成。

          IP的應(yīng)用:由于在很多數(shù)據(jù)上都是一個IP操作的,所以把相同IP的數(shù)據(jù)放在一個文件里在后面的處理就非常方便處理。請看后面的介紹,這里我們?nèi)P成三位為文件名字的一部分。

          C、 數(shù)據(jù)的導(dǎo)入處理

          通過以上兩位的操作當(dāng)天的數(shù)據(jù)會一個不少的保留下來,接下來怎么處理其實并不是很重要了。但是這里還是講講我的想法。

          入庫前處理:

          前面講到把IP三位相同的放一個文件就是為了入庫前到它們進行處理,首先可以用最笨的方法把數(shù)據(jù)拆成N個數(shù)據(jù)。在進行重復(fù)數(shù)據(jù)的刪除。

          如果一個IP瀏覽多頁那么PV在這里就可以得到統(tǒng)計,并把訪問的頁面進行處理,組成新的數(shù)據(jù)。

          導(dǎo)入方法:

          這里要介紹一下數(shù)據(jù)的導(dǎo)入方法

        1 $sql="LOAD DATA INFILE '".$file."' INTO TABLE `test` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'(
        2
        3   `time` , `md5`
        4
        5   )";

        就這一個語句,在導(dǎo)入幾十萬數(shù)據(jù)的時候可以說是刷刷的,用法我這里也不過多介紹了,大家有不明白的可以查手冊,所以說解決數(shù)據(jù)庫的瓶頸的辦法不定要加設(shè)備,也不一定要換數(shù)據(jù)庫,只要換一個思路就能解決不少問題。

          至此所以有數(shù)據(jù)也就講的差不多了。由于我肚子里的墨水太少,如有不得當(dāng)之處還請大家見諒。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        百萬級高并發(fā)網(wǎng)站MYSQL應(yīng)用攻略_MySQL

        百萬級高并發(fā)網(wǎng)站MYSQL應(yīng)用攻略_MySQL:在長時間的網(wǎng)站開發(fā)過程中,能作一個百萬IP的網(wǎng)站對我來說真是一個新的挑戰(zhàn),由于本人的水平有限,所以一直就職于一個小公司,在這里也只是抱著重在參與的想法。在以后我所講述到的內(nèi)容知識點上如有不適之處請大家多多批評指教。 在一開始接觸PHP接觸MYS
        推薦度:
        標(biāo)簽: 網(wǎng)站 攻略 百萬
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 看成年女人免费午夜视频| 亚洲白色白色在线播放| 日本h在线精品免费观看| 成人午夜大片免费7777| 亚洲精品国产啊女成拍色拍| 色欲A∨无码蜜臀AV免费播| 97在线观免费视频观看| 亚洲冬月枫中文字幕在线看| 亚洲第一网站免费视频| 日本亚洲精品色婷婷在线影院| 99精品视频在线观看免费播放| 久久亚洲精品无码AV红樱桃| 久久久久亚洲精品无码网址色欲| 在线视频免费观看www动漫| 亚洲色欲久久久久综合网| 一个人免费观看日本www视频| 亚洲精品黄色视频在线观看免费资源| 黄色免费在线观看网址| 国产成人高清亚洲| 久久青草91免费观看| 亚洲精品国产情侣av在线| 毛片免费在线视频| 国产精品观看在线亚洲人成网| 一区二区三区亚洲视频| 亚洲精品成人图区| 国产成在线观看免费视频| 亚洲精华国产精华精华液| 免费a级黄色毛片| 亚洲精品天堂在线观看| 免费毛片网站在线观看| 亚洲成在人线电影天堂色| 在线看片免费不卡人成视频| 国产91成人精品亚洲精品| 亚洲一区AV无码少妇电影☆| 桃子视频在线观看高清免费视频 | 免费国产黄网站在线观看动图| 亚洲国产精品无码久久青草| 麻豆精品成人免费国产片| 国产精品亚洲综合五月天| 亚洲精品国产va在线观看蜜芽| 日本免费中文字幕|