面對并發我們是如何優化KuangStudy網站性能的?
每個專案都會隨著用戶和資料的增長調整架構,來面對未來的問題,我們也不例外,在1月5號我們平臺正式公測后,引起了很多觀眾的熱烈反響,僅僅4天,注冊用戶便破萬,隨之而來的就是平臺開始變得卡頓,所以我們開始了我們的問題排查和優化,下面就和大家聊聊我們是如何處理的吧,
Nginx
一個網站,核心會分為幾部分:前端、后臺服務、資料庫,服務器,我們最開始專案是打的jar包 ,一個tomcat支撐不了多少并發,Tomcat 默認配置的最大請求數是 150,也就是說同時支持 150 個并發,當然了,也可以將其改大,但是每次直播的時候,并發會暴增,所以我們只能開始搭建集群,
搭建集群后引入了Nginx做反向代理,負載均衡也解決了,我們根據不同的服務器的性能做了權重,果然增加了Nginx,做了負載之后,網站訪問快了不少,但是又迎來了Session共享的問題,我們將用戶的會話資訊放入redis,session共享搞定,接入層搞定了之后,我們發現我們的江湖模塊還是很慢,

慢SQL
我們開始排查日志,發現了一些SQL處理竟然要1.5s左右,簡直受不了,根本問題是我們做了聯表查詢,關聯的表比較多,于是我們開始優化資料庫結構,增加了許多冗余欄位,后面江湖首頁,只用查詢一個表了,從蝸速到現在幾乎秒開了,分類我們從資料庫查詢優化到使用靜態資料管理,因為幾乎不會發生變化,同時訊息提示的sql還有個人主頁的sql我們也做了相應的處理,所以現在整個網站的回應速度大大提高了,

主從復制、讀寫分離
接入層的問題解決后,我們發現專案的壓力瓶頸轉移到了資料庫上面,開始我們還是單個資料庫,但是用戶的熱情遠遠超出了我們的想象,讀和寫都在一個資料庫,性能完全不太夠用,于是我們又買了一臺服務器開始做主從,MySQL的主從還是比較簡單的,幾個命令就搭建好了,然后我們使用了sharding jdbc來做讀寫分離,寫完之后,網站整體的性能都提高了,于是我們發了版,保證了線上運行不卡頓,

信任與責任
連續一周,我們都是凌晨兩三點睡,不斷的優化用戶的建議,讓平臺越來越穩定和完善,不過努力都是值得的,用戶越來越多,迎來了眾多年會員的同時,我們也迎來了我們的第一個終身會員,這是信任,這是責任,我不能辜負大家的信任,做更多有意義的事情,做更純凈的社區,做更多的開源組件和更優質的教程來幫助大家,這是我們團隊的使命,也是學相伴的使命,
無論遇到多少的Bug,就像飛哥說的,我們滅了它就完事了!沒有解決不了的問題,這就是屬于我們技術人的底氣!

邀請入駐
如果大家平時有寫文章的愛好,或者已經有了很多筆記,也歡迎大家能夠將自己的文章搬到我們的kuangstudy平臺上,提出寶貴的意見,可能我們現在不是最好的,但是我們會努力變成最好的!
以學為伴,一生相伴!
看到了這里,不妨點個喜歡支持我們一下吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/250664.html
標籤:其他
下一篇:nginx網站服務如何配置防盜鏈
