ipv4

linux下突破10万高并发的nginx性能优化经验

风格不统一 提交于 2020-03-08 16:38:11
一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项: 1)nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。 worker_processes 8; 2)为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 3)下面这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是系统的最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。 worker_rlimit_nofile 65535; 4)使用epoll的I/O模型,用这个模型来高效处理异步事件 use epoll; 5)每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。 worker_connections 65535; 6)http连接超时时间,默认是60s,功能是使客户端到服务器端的连接在设定的时间内持续有效

C#编程_网卡信息检测与网络流量检测

烈酒焚心 提交于 2020-03-08 06:08:35
网卡信息检测与网络流量检测 文章目录 网卡信息检测与网络流量检测 网卡信息检测相关类 Network Interface类 获取网卡的信息 IPInterfaceProperties类 实例 网卡单播地址的信息 获取网关地址 获取任意广播地址 获取此接口的动态主机配置协议(DHCP)服务器的地址 获取此接口的域名系统(DNS)服务器的地址 获取此网络接口的Internet协议版本(IPv4)配置数据 网络流量检测类 IPGlobalProperties类 IPGlobalProperties类提供的常用方法 获取本机TCP连接信息 总结 要学会调试程序 学会查官方文档 ​ 每台计算机进行网线通讯,都要借助一个硬件设备, 网卡 ,简称 NIC , NIC 是 Network Interface Controller 的缩写。网卡则负责将 比特流转换成电信号 发送出去和将检测到的 电信号转换成比特流 并接收。 网络适配器: 又称网卡是连接计算机与网络的硬件设备。 整理计算机上发往网线上的数据,并将数据分解为适当大小的数据包之后向网络上发送。 在C#中,提供了System.Net.NetworkInformation命名空间,来提供网卡的相关信息。 其中包括: 对本机网卡相关信息的检测 本机有多少网卡,网卡名称、速度、硬件地址等。 对本机网络流量的检测 网络连接配置、接收与发送的数据包等

Linux基础优化与安全归纳总结

末鹿安然 提交于 2020-03-08 04:25:01
一名运维工程师在运维岗位上时间久了,就会发现Linux优化的重要性,同时会给运维工作带来很多的便利性。本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读Linux相关书籍及向同事、同行高手咨询,针对 Linux 系统的一些基本优化做了如下归纳总结,如有不足之处,还望大伙补充完善。 本文主要描述一些基本的系统优化知识点,并未涉及Linux深化优化,关于Linux的深化优化知识本人后期会更新。 第一点:Linux 的管理尽量不用root 用户,利用sudo 命令来控制普通用户对系统的管理 新建一个用户,使用sudo命令添加权限,详细操作步骤如下: (1)添加新的用户: useradd 新的用户名 (2)检查是否已成功添加:id 新的用户名 (3)设置该用户的密码:echo 123321|passwd --stdin 新的用户名 接下来需将新的用户添加管理员权限,这个新的用户就相当于管理员 (4)备份之前的权限文件:\cp /etc/sudoers{,.back} (5)将新的用户添加管理员权限: echo "新的用户名 ALL=(ALL) NOPASSWD: ALL " >> /etc/sudoers (6)检查是否已成功添加:tail -1 /etc/sudoers (7)配置生效:visudo -c 待以上操作完毕,那么此时的新的用户权限等同于root用户。 第二点

UBUNTU 下 APACHE2 Too many open files: Error retrieving pid file /var/run/apache2.pid

杀马特。学长 韩版系。学妹 提交于 2020-03-05 01:29:02
cat /proc/sys/fs/file-max 系统可打开的最大文件个数 ulimit -n 当前系统限制的个数 ulimit -n 10240 调整当前系统的限制 修改/etc/sysctl.conf, 加入 net.ipv4.ip_local_port_range = 1024 65000 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 65536 16777216 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_sack = 1 net.core.netdev_max_backlog = 262144 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_orphans

13-51 nginx优化-内核参数调整

允我心安 提交于 2020-03-03 14:15:28
网络参数调优 [root @localhost 1.com]# sysctl -a |grep tw_buckets sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key "net.ipv6.conf.default.stable_secret" sysctl: reading key "net.ipv6.conf.ens33.stable_secret" sysctl: reading key "net.ipv6.conf.lo.stable_secret" net.ipv4.tcp_max_tw_buckets = 4096 设置 [root @localhost 1.com]# vi /etc/sysctl.conf 添加 net.ipv4.tcp_fin_timeout =6 net.ipv4.tcp_keepalive_time =30 net.ipv4.tcp_max_tw_buckets =8000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syncookies = 2 net.ipv4.tcp_max_syn_backlog = 30000 net.ipv4.tcp_syn

Linux 官方镜像源汇总

丶灬走出姿态 提交于 2020-03-03 05:57:13
原文链接 参考链接 1.企业贡献: 阿里云开源镜像站: http://mirrors.aliyun.com 搜狐开源镜像站: http://mirrors.sohu.com 网易开源镜像站: http://mirrors.163.com 2.大学教学: 北京理工大学: http://mirror.bit.edu.cn (IPv4 only) http://mirror.bit6.edu.cn (IPv6 only) 北京交通大学: http://mirror.bjtu.edu.cn (IPv4 only) http://mirror6.bjtu.edu.cn (IPv6 only) http://debian.bjtu.edu.cn (IPv4+IPv6) 兰州大学: http://mirror.lzu.edu.cn 厦门大学: http://mirrors.xmu.edu.cn 上海交通大学: http://ftp.sjtu.edu.cn (IPv4 only) http://ftp6.sjtu.edu.cn (IPv6 only) 清华大学: http://mirrors.tuna.tsinghua.edu.cn (IPv4+IPv6) http://mirrors.6.tuna.tsinghua.edu.cn (IPv6 only) http://mirrors.4.tuna

解决sublimeText3无法安装插件有关问题 - There are no packages available for installation

北战南征 提交于 2020-03-03 01:55:36
There are no packages available for installation错误 今天在安装sublimeText3插件时遇到错误,弹出一个对话框说没有可供安装的包,内容为There are no packages available for installation,对话框如下图: 其实我用的是win7系统,我遇到错误时没有截图,上面的图片是从网络上找到的(应该是从ubuntu中截取的),但提示内容是一样的。 经过google搜索,在stackoverflow的问答中找到解决办法,详情可以参考这里:http://stackoverflow.com/questions/25105139/sublime-text-2-there-are-no-packages-available-for-installation,解决办法就是这个问题被采纳的答案所描述的。 据说是IPv6的原因,如果我们的Intent服务提供者(ISP)不支持IPv6就会引发上述错误,原文如下: This error is happened with IPv6 problem. If your Internet Service Provider (ISP) does not support for IPv6 you got this error. 解决办法(windows平台)

深入理解TCP协议及其源代码

£可爱£侵袭症+ 提交于 2020-03-02 22:39:54
1、TCP协议栈从上到下提供的接口 2、 三次握手   结构体变量struct proto tcp_prot指定了TCP协议栈的访问接口函数 1 struct proto tcp_prot = { 2 .name = "TCP", 3 .owner = THIS_MODULE, 4 .close = tcp_close, 5 .pre_connect = tcp_v4_pre_connect, 6 .connect = tcp_v4_connect, 7 .disconnect = tcp_disconnect, 8 .accept = inet_csk_accept, 9 .ioctl = tcp_ioctl, 10 .init = tcp_v4_init_sock, 11 .destroy = tcp_v4_destroy_sock, 12 .shutdown = tcp_shutdown, 13 .setsockopt = tcp_setsockopt, 14 .getsockopt = tcp_getsockopt, 15 .keepalive = tcp_set_keepalive, 16 .recvmsg = tcp_recvmsg, 17 .sendmsg = tcp_sendmsg, 18 .sendpage = tcp_sendpage, 19 .backlog

CentOS6.4 内核优化

吃可爱长大的小学妹 提交于 2020-03-02 21:04:26
vi /etc/sysctl.conf net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans =

Linux系统参数优化

痴心易碎 提交于 2020-03-02 15:29:06
#来自其他PDF文档的转载。 默认的Linux内核参数考虑的是通用场景,不符合用于支持高并发访问的Web服务器的定义,根据业务特点来进行调整, 当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时,内核参数的调整都是 不同的,此处针对通用的、使Nginx支持更多并发请求的TCP网络参数做简单的配置,修改/etc/sysctl.conf来更改内核参数 fs.file-max = 1000000 #表示单个进程较大可以打开的句柄数 net.ipv4.tcp_tw_reuse = 1 #参数设置为 1 ,表示允许将TIME_WAIT状态的socket重新用于新的TCP链接,这对于服务器来说意义重大, 因为总有大量TIME_WAIT状态的链接存在 net.ipv4.tcp_keepalive_time = 600 #当keepalive启动时,TCP发送keepalive消息的频度;默认是2小时,将其设置为10分钟,可更快的清理无 效链接 net.ipv4.tcp_fin_timeout = 30 #当服务器主动关闭链接时,socket保持在FIN_WAIT_2状态的较大时间 net.ipv4.tcp_max_tw_buckets = 5000 #表示操作系统允许TIME_WAIT套接字数量的较大值,如超过此值,TIME_WAIT套接字将立刻被清除并打印警告 信息