博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apr_socket_recv: Connection reset by peer (104)
阅读量:6880 次
发布时间:2019-06-26

本文共 1166 字,大约阅读时间需要 3 分钟。

今天用apache 自带的ab工具测试,当并发量达到1000多的时候报错如下:

[root@aa~]# This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, 
Licensed to The Apache Software Foundation, 

Benchmarking 192.168.1.176 (be patient)

Completed 300 requests
Completed 600 requests
Completed 900 requests
apr_socket_recv: Connection reset by peer (104)
Total of 1085 requests completed

查看应用服务器和数据库均未报错,连接被重置,bingyi了以下,apr_socket_recv这个是操作系统内核的一个参数,在高并发的情况下,内核会认为系统受到了SYN flood攻击,会发送cookies(possible SYN flooding on port 80. Sending cookies),这样会减慢影响请求的速度,所以在应用服务武器上设置下这个参数为0禁用系统保护就可以进行大并发测试了:

/# vim /etc/sysctl.conf 
net.ipv4.tcp_syncookies = 0
/# sysctl -p
然后就可以超过1000个并发测试了。

另附其他系统内核参数说明:

net.ipv4.tcp_syncookies = 0 

#此参数是为了防止洪水攻击的,但对于大并发系统,要禁用此设置

net.ipv4.tcp_max_syn_backlog

#参数决定了SYN_RECV状态队列的数量,一般默认值为512或者1024,即超过这个数量,系统将不再接受新的TCP连接请求,一定程度上可以防止系统资源耗尽。可根据情况增加该值以接受更多的连接请求。

net.ipv4.tcp_tw_recycle

#参数决定是否加速TIME_WAIT的sockets的回收,默认为0。

net.ipv4.tcp_tw_reuse

#参数决定是否可将TIME_WAIT状态的sockets用于新的TCP连接,默认为0。

net.ipv4.tcp_max_tw_buckets

#参数决定TIME_WAIT状态的sockets总数量,可根据连接数和系统资源需要进行设置。

本文转自不要超过24个字符博客51CTO博客,原文链接http://blog.51cto.com/cstsncv/2073501如需转载请自行联系原作者

cstsncv

你可能感兴趣的文章
iOS--高级技术
查看>>
struct内存对齐
查看>>
Ubuntu系统利用docker容器发布简单的应用
查看>>
学习网站
查看>>
HTML 5 <input> placeholder 属性
查看>>
应用场景是什么?怎样判断、描述一个产品的应用场景?
查看>>
Winform基础知识
查看>>
【ClickOnce】自定义前提条件 Creating Bootstrapper Packages
查看>>
css格式与布局
查看>>
但那不是爱
查看>>
Codeforces 935 C Fifa and Fafa
查看>>
浏览器根对象document之方法概述
查看>>
纯小白入手 vue3.0 CLI - 3.1 - 路由 ( router )
查看>>
ActiveMQ相关背景(转)
查看>>
深入理解Linux修改hostname(转)
查看>>
对TCP/IP网络协议的深入浅出归纳(转)
查看>>
北京,北京!
查看>>
有序的组合
查看>>
MySQL----基本数据类型
查看>>
wpgcms---详情页面数据怎么渲染
查看>>