Web架构之单机时代
一、单机性能优化基础
1. 单机时代-动静分离
- Nginx + Tomcat 实现动静分离
优势:
1.Nginx记录访问日志,Tomcat关闭日志记录功能,来提高Tomcat的性能。
2.用Nginx做七层的处理,比如ssl证书,让Nginx来实现,比如根据url来做判断,如果pc访问 转到什么地方,手机访转到什么地方
成都创新互联服务项目包括米东网站建设、米东网站制作、米东网页制作以及米东网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,米东网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到米东省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
- Nginx+PHP实现动静分离
2.单机时代-数据库分离
- 将web服务器和数据库单独部署
3.单机时代-组件分离
静态服务器使用单独的服务器
- 静态服务器使用独立一级域名,防止cookie提交
http 链接和链接之间没有相互关系的,这个时候 引入session,存放在服务器端,客户端引入cookie,记录session ID
静态服务器可以使用多个二级域名提高加载速度
- 静态资源作为NFS,静态资源存放在NFS上
二、Socket基础和TCP三次握手
1.什么是socket
在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。
socket五元组
1.源IP地址
2.源端口
3.目的IP地址
4.目的端口
5.类型:tcp or udp- 如何查看linux随机端口范围?
cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999
这个范围可以修改,优化
echo "10000 61000" > /proc/sys/net/ipv4/ip_local_port_range
2.创建模拟socket连接
- 在vm2主机创建一个监听端口
[root@vm2 ~]# nc -l -4 -p 9999 -k
- 在vm1主机连接端口,并发送消息
[root@vm1 ~]# nc 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:* 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三次握手四次断开
-
- TCP三次握手
- TCP四次断开(基于全双工)
4.Time_wait调优
- time_wait 会占用socket,因此可以作为优化点
[root@vm1 ~]# cat /proc/sys/net/ipv4/tcp_tw_recycle
0 # 快速销毁策略,一般客户端为nat网络 不可以开启,0是关闭1是开启
[root@vm1 ~]# cat /proc/sys/net/ipv4/tcp_tw_reuse
0 # 重复使用策略,可以开启,但是也要把tcp_timestamps 开启,将0改为1,即可,
[root@vm1 ~]# cat /proc/sys/net/ipv4/tcp_timestamps
1 #开启时间戳,这个需要开启
分享文章:Web架构之单机时代
文章源于:http://azwzsj.com/article/jgpdhg.html