当前位置: 首页 > news >正文

网站建设相关知识博客网上卖货平台有哪些

网站建设相关知识博客,网上卖货平台有哪些,美食网站建设前的市场分析,wordpress 博客信息连接数上限条件 文件句柄的限制 一个tcp连接就需要占用一个文件描述符#xff0c;一旦文件描述符用完#xff0c;新的连接就会返回给我们错误是#xff1a;Can’topen so many files。linux系统出于安全角度的考虑#xff0c;在多个维度对于可打开的文件描述符进行了限制…连接数上限条件 文件句柄的限制 一个tcp连接就需要占用一个文件描述符一旦文件描述符用完新的连接就会返回给我们错误是Can’topen so many files。linux系统出于安全角度的考虑在多个维度对于可打开的文件描述符进行了限制通常是系统限制、用户限制、进程限制。 限制维度描述查看默认修改系统(fs.file-max)限制整个系统的文件句柄个数cat /proc/sys/fs/file-max-编辑 /etc/sysctl.conf 文件加入 fs.file-max1000000 然后执行sysctl -p命令使其生效进程(fs.nr_open)限制系统单个进程可打开的最大文件件句柄数量cat /proc/sys/fs/nr_open-编辑 /etc/sysctl.conf 文件加入:fs.nr_open1000000 然后执行sysctl -p命令使其生效用户进程(nofile)限制每个用户的进程可打开的最大文件句柄数量ulimit -n-临时修改:ulimit -n 1000000永久修改编辑 /etc/security/limits.conf 文件: * soft nofile 55000 * hard nofile 55000 上面修改对所有用户生效。注意!!!hard nofile 一定要比 fs.nr_open 要小否则可能导致用户无法登陆。 端口限制 操作系统采用 客户端IP : 客户端端口 : 服务端IP : 服务端端口 四元组来标识一条TCP连接。 端口范围 一个IP的端口范围是1024-65535。 查看方法 $ sysctl net.ipv4.ip_local_port_range或 $ cat /proc/sys/net/ipv4/ip_local_port_range修改方法 临时修改 # 临时修改方法1 $ echo 1024 65535 /proc/sys/net/ipv4/ip_local_port_range# 临时修改方法2 $ sysctl -w net.ipv4.ip_local_port_range1024 64000 永久修改 编辑 /etc/sysctl.conf 文件在其中加入 net.ipv4.ip_local_port_range 1024 65535连接突破限制方法 服务端一般不会存在端口限制的问题服务端开一个listen端口只要文件句柄没达上限就可以建立连接。 针对客户端的端口限制有下面的方法 服务器端只开启一个进程然后使用很多个客户端进程绑定不同的客户端 ip 来连接服务器开启多个进程这样客户端就可以只使用一个 ip 即可 supervisor控制的程序 CentOS上使用系统自带的supervisor使用systemd启动supervisord的服务。被supervisor管理、启动的进程并不会使用 /etc/security/limits.conf 中配置的 nofile 数值继承的是systemd对应的限制。 在supervisord 的配置文件 /etc/supervisor.conf中调整 检查 supervisord 的配置文件 /etc/supervisor.conf 中会发现一个 minfds 的参数设置了 nofile 限制默认为 1024。 [supervisord]minfds100000 ; (min. avail startup file descriptors;default 1024) minprocs100000 ; (min. avail process descriptors;default 200)minprocs 参数minprocs 对应的是 rlimit 中的 nproc, nproc 代表一个进程最多可以创建的线程数。 在启动.service文件里面修改对应的限制 $ vim /usr/lib/systemd/system/supervisord.service [Unit] DescriptionProcess Monitoring and Control Daemon Afternetwork.target[Service] Typeforking LimitCOREinfinity LimitNOFILE100000 LimitNPROC100000 ExecStart/usr/bin/supervisord -c /etc/supervisord.conf ExecReload/usr/bin/supervisorctl reload ExecStop/usr/bin/supervisorctl shutdown[Install] WantedBymulti-user.target重新加载 $ systemctl daemon-reload $ systemctl restart supervisord.servicenginx 连接突破上限 首先参考上面的内容调整文件句柄数量。其次创建子网卡将请求分配到不同的 ip上,最后调整nginx配置。 创建子网卡 ifconfig eth0:0 192.168.1.11/24 up ifconfig eth0:1 192.168.1.12/24 up ifconfig eth0:2 192.168.1.13/24 up ifconfig eth0:3 192.168.1.14/24 up ifconfig eth0:4 192.168.1.15/24 up ifconfig eth0:5 192.168.1.16/24 up ifconfig eth0:6 192.168.1.17/24 up ifconfig eth0:7 192.168.1.18/24 up ifconfig eth0:8 192.168.1.19/24 up ifconfig eth0:9 192.168.1.10/24 up ifconfig eth0:10 192.168.1.20/24 up ifconfig eth0:11 192.168.1.21/24 up ifconfig eth0:12 192.168.1.22/24 up ifconfig eth0:13 192.168.1.23/24 up ifconfig eth0:14 192.168.1.24/24 up调整nginx配置 修改Nginx最大打开文件数为 100w worker_rlimit_nofile 1000000;修改Nginx事件处理模型 events {use epoll;worker_connections 1000000; }3.配置应用请求 后端 go应用程序监听在 9505 端口nginx中配置 upstream upstream go-ws {server 127.0.0.1:9505;keepalive 128; }location /ws {proxy_redirect off;proxy_bind $split_ip;proxy_pass http://go-ws;proxy_bind $spl_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# WebSocket 支持的核心配置proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $http_connection;proxy_intercept_errors on;client_max_body_size 20m;}#将请求分配到不同ip上 split_clients $remote_addr$remote_port $split_ip {10% 192.168.1.11;10% 192.168.1.12;10% 192.168.1.13;10% 192.168.1.14;10% 192.168.1.15;10% 192.168.1.16;10% 192.168.1.17;10% 192.168.1.18;10% 192.168.1.19;10% 192.168.1.20;10% 192.168.1.21;10% 192.168.1.22;10% 192.168.1.23;10% 192.168.1.24;* 192.168.1.10; }如果句柄数并未达到100万就报http: Accept error: accept tcp [::]:9505: accept4: too many open files; retrying in 40ms 尝试调整 supervisorctl句柄数据试试。 netty 连接数设置 netty中跟连接数相关的参数是ChannelOption.SO_BACKLOG对应的是tcp/ip协议, listen函数 中的 backlog 参数用来初始化服务端可连接队列。 linux内核中的两个队列 在linux系统内核中维护了两个队列syns queue和accept queue 服务端处理客户端连接请求是顺序处理的所以同一时间只能处理一个客户端连接多个客户端来的时候服务端将不能处理的客户端连接请求放在队列中等待处理。 syns queue保存一个SYN已经到达但三次握手还没有完成的连接。 用于保存半连接状态的请求其大小通过/proc/sys/net/ipv4/tcp_max_syn_backlog指定一般默认值是512。不过这个设置有效的前提是系统的syncookies功能被禁用。 互联网常见的TCP SYN FLOOD恶意DOS攻击方式就是建立大量的半连接状态的请求然后丢弃导致syns queue不能保存其它正常的请求。 accept queue保存三次握手已完成内核正等待进程执行accept的调用的连接。 用于保存全连接状态的请求其大小通过/proc/sys/net/core/somaxconn指定。 在使用listen函数时内核会根据传入的backlog参数与系统参数somaxconn取二者的较小值。 注意 如果未设置或所设置的值小于1Java将使用默认值50。如果accpet queue队列满了server将发送一个ECONNREFUSED错误信息Connection refused到client。 ChannelOption.SO_BACKLOG 服务器TCP内核 内维护了两个队列称为A(未连接队列)和B(已连接队列) 如果AB的长度大于Backlog时新的连接就会被TCP内核拒绝掉。 如果backlog过小就可能出现Accept的速度跟不上A,B队列满了就会导致客户端无法建立连接。 另外 backlog对程序的连接数没影响但是影响的是还没有被Accept取出的连接。 在netty实现中backlog默认通过NetUtil.SOMAXCONN指定在ServerBootstrap中使用option()方法设置SO_BACKLOG参数该参数表示等待接受的连接队列的最大长度。示例代码如下 ServerBootstrap serverBootstrap new ServerBootstrap(); serverBootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).option(ChannelOption.SO_BACKLOG, 100) // 设置最大连接数为100.childHandler(new MyChannelInitializer());TCP的连接状态 (SYN, FIN, ACK, PSH, RST, URG) SYN 表示建立连接 FIN 表示关闭连接 ACK 表示响应 PSH 表示有 DATA数据传输 RST 表示连接重置。 参考 用Netty实现单机百万TCP长连接 让Netty Linux 突破100万的连接量 netty怎么设置最大连接数 单机器如何实现Nginx百万并发连接 linux - 文件句柄的限制你知道吗 实践单机实现百万连接 supervisord 中的 open files 数量限制 superversior 常用操作命令supervisorctl Netty ChannelOption.SO_BACKLOG配置
http://www.pierceye.com/news/348349/

相关文章:

  • 电脑网站打不开什么原因wordpress api 中文
  • 自己怎么免费做网站网页重庆专业平台推广公司
  • 英文网站建设电话咨询网站推广平台有哪些
  • 在家里组一个服务器做网站有心学做网站
  • 广东企业网站模板推荐flash网址
  • 网站标题正确书写标准h5页面制作平台有哪些
  • 详情页设计与制作网站品牌词优化怎么做
  • 成都科技网站建设咨询电话平面设计品牌设计
  • 网站建设的可行性报告做网站需要了解的知识
  • 高邮网站建设推广怎么做
  • 珠宝网站建设公司wordpress 显示指定分类
  • 站酷网设计素材龙岗网站建设公司哪家口碑好
  • 达州达县网站建设上海网络推广服务公司
  • 周口网站关键词优化助孕网站优化推广
  • 做网站的钱叫什么科目企业做网站的好处有哪些
  • 做外贸网站流程如何建立网上商城
  • 爱网站关键词挖掘广西住房城乡建设厅
  • 零基础网站建设入门到精通视频教程河源建设网站
  • 焦作市建设工程网站石龙网站开发
  • 建公司网站报价牛商网网站建设
  • 中国现代公路建设有限公司网站网站建设技巧饣金手指排名27
  • 食品网站开发的背景阿里云oss建站 直接上传wordpress
  • 石泉政协网站建设方案网络广告推广服务
  • 怎么用lamp做网站桂林网
  • 织梦网站专题页面如何做网站排名优化提升快速
  • 公司建设网站费用吗qq官方网站登录入口
  • 怎么用自己的服务器做网站国外酷炫网站有哪些
  • 音乐网站建设规划国内最近新闻
  • 东莞骄阳网站建设wordpress 安装出现 过多重定向
  • 学校网站建设开题报告站长工具域名备案查询