溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Web架構(gòu)之單機(jī)時(shí)代

發(fā)布時(shí)間:2020-04-16 05:08:07 來源:網(wǎng)絡(luò) 閱讀:221 作者:凌許冬 欄目:系統(tǒng)運(yùn)維

一、單機(jī)性能優(yōu)化基礎(chǔ)

1. 單機(jī)時(shí)代-動(dòng)靜分離

  • Nginx + Tomcat 實(shí)現(xiàn)動(dòng)靜分離

優(yōu)勢:
1.Nginx記錄訪問日志,Tomcat關(guān)閉日志記錄功能,來提高Tomcat的性能。
2.用Nginx做七層的處理,比如ssl證書,讓Nginx來實(shí)現(xiàn),比如根據(jù)url來做判斷,如果pc訪問 轉(zhuǎn)到什么地方,手機(jī)訪轉(zhuǎn)到什么地方

  • Nginx+PHP實(shí)現(xiàn)動(dòng)靜分離

2.單機(jī)時(shí)代-數(shù)據(jù)庫分離

3.單機(jī)時(shí)代-組件分離

  • 靜態(tài)服務(wù)器使用單獨(dú)的服務(wù)器

  • 靜態(tài)服務(wù)器使用獨(dú)立一級域名,防止cookie提交

http 鏈接和鏈接之間沒有相互關(guān)系的,這個(gè)時(shí)候 引入session,存放在服務(wù)器端,客戶端引入cookie,記錄session ID

  • 靜態(tài)服務(wù)器可以使用多個(gè)二級域名提高加載速度

  • 靜態(tài)資源作為NFS,靜態(tài)資源存放在NFS上

二、Socket基礎(chǔ)和TCP三次握手

1.什么是socket

  • 在計(jì)算機(jī)通信領(lǐng)域,socket 被翻譯為“套接字”,它是計(jì)算機(jī)之間進(jìn)行通信的一種約定或一種方式。通過 socket 這種約定,一臺計(jì)算機(jī)可以接收其他計(jì)算機(jī)的數(shù)據(jù),也可以向其他計(jì)算機(jī)發(fā)送數(shù)據(jù)。

  • socket五元組
    1.源IP地址
    2.源端口
    3.目的IP地址
    4.目的端口
    5.類型:tcp or udp

  • 如何查看linux隨機(jī)端口范圍?
cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

這個(gè)范圍可以修改,優(yōu)化

echo "10000 61000" > /proc/sys/net/ipv4/ip_local_port_range

2.創(chuàng)建模擬socket連接

  • 在vm2主機(jī)創(chuàng)建一個(gè)監(jiān)聽端口
[root@vm2 ~]# nc -l -4 -p 9999 -k
  • 在vm1主機(jī)連接端口,并發(fā)送消息
[root@vm1 ~]# nc 192.168.100.108 9999

qweq
  • 在vm2主機(jī)查看連接狀態(tài)
[root@vm2 ~]# netstat -na |grep 9999
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN     
tcp        0      0 192.168.100.108:9999    192.168.100.117:34492   ESTABLISHED
[root@vm2 ~]# lsof -i:9999
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nc      9241 root    3u  IPv4  46442      0t0  TCP *:distinct (LISTEN)
nc      9241 root    4u  IPv4  44975      0t0  TCP vm2:distinct->192.168.100.117:34492 (ESTABLISHED)

3.TCP三次握手四次斷開

Web架構(gòu)之單機(jī)時(shí)代

    • TCP三次握手

Web架構(gòu)之單機(jī)時(shí)代

  • TCP四次斷開(基于全雙工)

Web架構(gòu)之單機(jī)時(shí)代

4.Time_wait調(diào)優(yōu)

  • time_wait 會(huì)占用socket,因此可以作為優(yōu)化點(diǎn)
[root@vm1 ~]# cat /proc/sys/net/ipv4/tcp_tw_recycle 
0  # 快速銷毀策略,一般客戶端為nat網(wǎng)絡(luò) 不可以開啟,0是關(guān)閉1是開啟
[root@vm1 ~]# cat /proc/sys/net/ipv4/tcp_tw_reuse 
0   # 重復(fù)使用策略,可以開啟,但是也要把tcp_timestamps 開啟,將0改為1,即可,
[root@vm1 ~]# cat /proc/sys/net/ipv4/tcp_timestamps 
1  #開啟時(shí)間戳,這個(gè)需要開啟
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI