一、单机性能优化基础
1。单机时代——动静分离
-
<李> Nginx + Tomcat实现动静分离李>
优势:
1. nginx记录访问日志,Tomcat关闭日志记录功能,来提高Tomcat的性能。
2。用Nginx做七层的处理,比如ssl证书,让Nginx来实现,比如根据url来做判断,如果pc访问转到什么地方,手机访转到什么地方
-
<李> Nginx + PHP实现动静分离李>
2。单机时代——数据库分离
-
<李>将web服务器和数据库单独部署李>
3。单机时代——组件分离
-
<李>
静态服务器使用单独的服务器
李> <李>静态服务器使用独立一级域名,防止饼干提交李>http链接和链接之间没有相互关系的,这个时候引入会话,存放在服务器端,客户端引入cookie,记录会话ID
-
<李>
静态服务器可以使用多个二级域名提高加载速度
李> <李>静态资源作为NFS,静态资源存放在NFS上李>二、套接字基础和TCP三次握手
1。什么是套接字
-
<李>
在计算机通信领域,插座被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过插座这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。
李> <李>套接字五元组
1。源IP地址
2。源端口
3。目的IP地址
4。目的端口
5。类型:tcp或udp
<代码>猫/proc/sys/net/ipv4/ip_local_port_range 32768 60999 代码>
这个范围可以修改,优化
<代码>回声“10000 - 61000”在/proc/sys/net/ipv4/ip_local_port_range 代码>
2。创建模拟插座连接
-
<李>在vm2主机创建一个监听端口李>
<代码> [root@vm2 ~] 4 # nc - l - p 9999 - k 代码>
-
<李>在vm1主机连接端口,并发送消息李>
<代码> root@vm1 ~ #数控192.168.100.108 9999 qweq 代码> >之前
-
<李>在vm2主机查看连接状态李>
<代码> [root@vm2 ~] # netstat na | grep 9999 tcp 0 0 0.0.0.0:9999 0.0.0.0: *听 tcp 0 0 192.168.100.108:9999 192.168.100.117:34492建立 (root@vm2 ~) # lsof我:9999 命令PID用户FD类型设备大?节点名 数控9241根3 u IPv4 46442 0 t0 TCP *:不同的(听) 数控9241根4 u IPv4 44975 0 t0 TCP vm2:不同→192.168.100.117:34492(建立) 代码> >之前3. tcp三次握手四次断开
-
<李>
-
<李> TCP三次握手李>
-
<李> TCP四次断开(基于全双工)李>
4. time_wait调优
-
<李> time_wait会占用插座,因此可以作为优化点李>
<代码> root@vm1 ~ #猫/proc/sys/net/ipv4/tcp_tw_recycle 0 #快速销毁策略,一般客户端为nat网络不可以开启,0是关闭1是开启 #猫/proc/sys/net/ipv4/tcp_tw_reuse root@vm1 ~ 0 #重复使用策略,可以开启,但是也要把tcp_timestamps开启,将0改为1,即可, #猫/proc/sys/net/ipv4/tcp_timestamps root@vm1 ~ 1 #开启时间戳,这个需要开启 代码> >之前Web架构之单机时代