VPS侦探论坛

 找回密码
 注册
查看: 5190|回复: 2

偶尔访问出现连接已重置

[复制链接]
发表于 2016-7-18 11:19:39 | 显示全部楼层 |阅读模式

问题:

1. 偶尔访问会出现 连接已重置。[ nginx错误日志没有异常] [msyql错误日志没异常] [网络没问题]

(1) . 这个情况会在不同并发的情况下发送,有时候Active connections 只有 80 左右就会出现,有时候爬行到600+也没出现。
(2).  情况出现后会变得频繁,打开后的页面统计显示的执行时间很低,只有0.3 - 0.6秒[无缓存情况下的php需查询数据库的页面]。所以应该不是因为卡导致的。
(3) . 程序每个访客,在进入的时候,都占用一个mysql连接数,php pdo模式。[平时连接只有25左右,统计的最大连接数200左右,来源蜘蛛爬行]
(4) . 在出现这个情况的时候,即使访问一个txt静态文件,比如robots.txt,也可能出现连接已重置。
(5) . 查看nginx的访客日志发现,出现 连接已重置 的链接,在记录中不存在,而前后几秒访问正常的都可以记录。

以上是基本情况,麻烦军哥分析下什么情况。

2. 服务器内存32G,使用一直保持在10G,另外20多G一直处于空闲。

下面贴上my.cnf、php-fpm.conf配置,麻烦军哥帮忙分析优化下:

pm = dynamic
pm.max_children = 1200
pm.start_servers = 350
pm.min_spare_servers = 300
pm.max_spare_servers = 1200
request_terminate_timeout = 100
request_slowlog_timeout = 0


my.cnf:

[client]
#password   = your_password
port        = 3306
socket      = /tmp/mysql.sock


[mysqld]
port        = 3306
socket      = /tmp/mysql.sock
datadir = /usr/local/mysql/var

skip-external-locking
key_buffer_size = 512M
max_allowed_packet = 1M
table_open_cache = 2048
sort_buffer_size = 8M
net_buffer_length = 8K
read_buffer_size = 8M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 128M
thread_cache_size = 256
query_cache_size = 128M
tmp_table_size = 256M
explicit_defaults_for_timestamp = true
#skip-networking
max_connections = 4096
max_connect_errors = 30
open_files_limit = 10240


#log-bin=mysql-bin
#binlog_format=mixed
server-id   = 1
expire_logs_days = 10
early-plugin-load = ""

#loose-innodb-trx=0
#loose-innodb-locks=0
#loose-innodb-lock-waits=0
#loose-innodb-cmp=0
#loose-innodb-cmp-per-index=0
#loose-innodb-cmp-per-index-reset=0
#loose-innodb-cmp-reset=0
#loose-innodb-cmpmem=0
#loose-innodb-cmpmem-reset=0
#loose-innodb-buffer-page=0
#loose-innodb-buffer-page-lru=0
#loose-innodb-buffer-pool-stats=0
#loose-innodb-metrics=0
#loose-innodb-ft-default-stopword=0
#loose-innodb-ft-inserted=0
#loose-innodb-ft-deleted=0
#loose-innodb-ft-being-deleted=0
#loose-innodb-ft-config=0
#loose-innodb-ft-index-cache=0
#loose-innodb-ft-index-table=0
#loose-innodb-sys-tables=0
#loose-innodb-sys-tablestats=0
#loose-innodb-sys-indexes=0
#loose-innodb-sys-columns=0
#loose-innodb-sys-fields=0
#loose-innodb-sys-foreign=0
#loose-innodb-sys-foreign-cols=0


default_storage_engine = InnoDB
innodb_data_home_dir = /usr/local/mysql/var
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var
innodb_buffer_pool_size = 4096M
innodb_log_file_size = 512M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 1024M
sort_buffer_size = 2M
read_buffer = 2M
write_buffer = 2M



[mysqlhotcopy]
interactive-timeout

phpmyadmin统计:

[ 本帖最后由 zxcust 于 2016-7-18 11:27 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2016-7-18 17:52:03 | 显示全部楼层


没遇到过不好说
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2016-7-18 18:40:46 | 显示全部楼层

回来反馈原因,供后来者参考。

测试一下午发现是G-F-W搞的。
即使是出现可能为敏感词的拼音、或拼音缩写,也会偶尔被拦,估计是拦截后分析为非恶意页面,又不拦截了,所以出现偶尔1-2分钟内经常出现 连接被重置。

页面上出现了一个随机的字符串恰巧有  f...l...g[无 ...]三个字母 组合就变成了敏感词,只要一访问有这个字符串的页面,就会出现持续几分钟的连接被重置。

另外麻烦军哥帮忙调优一下my.cnf配置,让内存使用率上去
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-29 07:25 , Processed in 0.026393 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表