感谢各位技术大佬的资料分享,这里我把我理解的内容做一个整理 一:TCP的三次握手 1.TCP简述 TCP是一个面向连接的协议,在连接双方发送数据之前,首先需要建立一条连接.TCP建立连接可以简单称为:三次握手(说白了就是建立一个TCP连接的时候,客户端和服务端总共要发3个包,socket编程里面执行connect()的时候,将触发三次握手),断开TCP连接可以叫做四次握手(socket编程里面任何一方执行close()操作即可产生挥手动作). 2.连接的建立 解释: 最初两端的TCP进程都处于C…
当linux下Nginx达到并发数很高,TCP TIME_WAIT套接字数量经常达到两.三万,这样服务器很容易被拖死.事实上,我们可以简单的通过修改Linux内核参数,可以减少Nginx服务器 的TIME_WAIT套接字数量,进而提高Nginx服务器并发性能.   vi /etc/sysctl.conf   增加以下几行: net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_syncookie…
并发 Linux下高并发的Nginx服务器,当TCP TIME_WAIT套接字数量经常达到两.三万,服务器很容易被拖死.通过修改Linux内核参数,可以减少Nginx服务器的TIME_WAIT套接字数量. vi /etc/sysctl.conf 增加以下几行: 引用 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse =…
修改somaxconn 该内核参数默认值一般是128(定义了系统中每一个端口最大的监听队列的长度),对于负载很大的服务程序来说大大的不够.一般会将它修改为2048或者更大. echo 2048 > /proc/sys/net/core/somaxconn    但是这样系统重启后保存不了 在/etc/sysctl.conf中添加如下 net.core.somaxconn = 2048 然后在终端中执行 sysctl -p 来自为知笔记(Wiz)…
续上一节说明 一开始我也是使用haproxy来做的,但后来方式改了,是因为物理机controller的高配置有些浪费,我需要1组高可用的上层nginx代理服务器来实现其它域名80代理访问,很多办公网测试的域名解析58.251.17.238的IP,都是复用走这组controller的nginx   测试环境:haproxy + nginx   所以,我需要将haproxy的dashboard占用的80剥离出来   两边的controller主备控制节点均安装 yum install -y hapr…
tcp_syn_retries :INTEGER默认值是5对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃.不应该大于255,默认值是5,对应于180秒左右时间.(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的) tcp_synack_retries :INTEGER默认值是5对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包.这是所谓的三次握手…
配置文件     正常运行的必备配置:         1.user username [groupname]:(推荐nginx)         以那个用户身份运行,以在configure指定的用户为准         2.pid /path/to/pid_filename;         指定nginx的pid文件         3.worker_rlimit_nofile #;         指定一个worker进程能打开的最大文件描述符数量:         4.worker_rl…
一.环境及工具 1.服务器 VirtualBox5.1.4 安装 Ubuntu Server 16.04 amd64 MySql Ver 14.14 Distrib 5.6.21 Jexus 5.8.1 nginx 1.10.0 dotnet core 1.0.0-preview2-003121 supervisor 3.2.1 2.开发环境 VS2015 + Update 3 DotNetCore.1.0.0-VS2015Tools.Preview2.0.1.exe 3.测试工具 HttpTe…
1:安装redis(使用的的环境是centos6.7 redis-2.6.14) 将redis-2.6.14.tar.gz文件拷贝到/usr/local/src 目录下 解压文件  tar zxvf redis-2.6.14.tar.gz  进入 redis-2.6.14目录下的src目录  cd src -->编译  make 2:创建redis运行目录(放在/usr/local/redis) makedir /usr/local/redis 拷贝redis-cli redis-server…
备注: 使用docker-compose  进行安装 同时集成gitlab,预备环境 docker  docker-compose  gitlab 1. docker-compose version: '3' services: drone-server: image: drone/drone:0.8 ports: - 8080:8000 - 9000 volumes: - ./drone:/var/lib/drone/ restart: always environment: - DRONE_…