码迷,mamicode.com
首页 > Web开发 > 详细

Web架构之单机时代

时间:2020-02-10 13:54:47      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:之间   套接字   性能优化   netstat   udp   linux   tcp   socket   数据库   

一、单机性能优化基础

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架构之单机时代

标签:之间   套接字   性能优化   netstat   udp   linux   tcp   socket   数据库   

原文地址:https://blog.51cto.com/lingxudong/2470041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!