末成年女av片一区二区下载_欧美疯狂做受xxxx高潮_91 com成人网_精品五月天久久

當前位置: 首頁 / 新聞 / 網站知識 / 正文

知識普及:網站搭建來兼容數千并發的詳細步驟!!

來源:qiuzhx時間:2020-04-23



1.實現一個多并發的網站任務,開始做的時候并不知道實際的并發量會有多少,經過討論決定使用如下的流程方式



2.解釋一下,收到客戶端發過來的請求后,通過負載均衡分配到空閑的web服務器進行請求處理,請求期間的操作都是使用redis作為數據讀取和存儲(不要用數據庫,要不然會出現MySQL連接數過大,服務器卡死的情況),然后購票成功后再寫入數據庫中。下面分布解說

3.首先需要用到負載均衡,不要以為很麻煩,現在很方便,阿里云就提供相應的服務,直接購買就好,然后將服務器綁定到負載均衡實例中,域名指向負載均衡實例就好,可以寫兩個靜態頁面分別放到web服務器1和web服務器2中,不停刷新看看是否是請求到不同的服務器了。

4.負載均衡可以跑通知之后將自己的代碼傳到兩臺服務器中,然后測試能否跑起來。

5.在測試過程中發現用戶登錄有問題,因為是購票系統,所以肯定存在用戶模塊,這里用戶登錄使用session存儲的,所以搭建負載均衡還牽扯到一個session共享的問題。不過用到的是laravel框架,框架里面的session默認是使用文件存儲方式,支持redis存儲,而我們兩臺web服務器連接的是同一個redis服務器,所以將存儲方式換成redis存儲后就解決了問題。其他不支持的框架也可以使用memcache,數據庫等解決,方法很多,可以單獨看看這方面的解決方法。

6.代碼傳到服務器也能跑通之后,就需要進行壓力測試了。

7.使用的服務器配置是2臺2核8G內存5M寬帶的web服務器,一臺4核16的數據庫redis服務器。

8.并發測試工具阿里云也有,買了一個便開始測試,但實際測試過程中發現與理想的差距甚大,4百并發便已經有不少失敗請求。

9.優化吧,首先修改了一下nginx和php-fpm之間的通信方式,把原來TCP修改成了UNIX Domain Socket.相比之下減少了很多tcp/ip層,物理層,路由層之間的連接,再跑一邊,效果好了一點點。

10.然后發現再跑壓測的時候,活躍進程數很低,發現PHP里面的配置max_children本來就很小,然后按照網上說的計算方式,把值調整到了400,接著監聽,發現是好很多,但是活躍進程一直到60~80就上不去了,而查看cup,負載等都已經到100%,原來cpu忙不過來了。。。

11.升級cpu,到8核,內存升級到16G,然后max_children調整到了800,哇哦,質的飛躍,還是硬件給力,并發一兩千還是支持的住的。

12.想要支持的并發跟多的話,可以通過增加web服務器來分擔負載,程序優化優化,服務器方面的優化還有待提升,后面慢慢研究吧。

主站蜘蛛池模板: 河津市| 红河县| 福建省| 临武县| 鞍山市| 江阴市| 临桂县| 洛隆县| 班玛县| 佳木斯市| 黑河市| 贵德县| 清丰县| 龙海市| 彰化市| 石泉县| 东乡| 三原县| 太康县| 柞水县| 丹东市| 曲阳县| 广丰县| 瑞安市| 文登市| 桃江县| 富裕县| 克什克腾旗| 清水河县| 且末县| 金堂县| 和平县| 博爱县| 彝良县| 凉山| 香河县| 眉山市| 钟山县| 焉耆| 固始县| 凤冈县|