• xsz.tw 不带广告的小说站
  • down.tw 资源、下载站
  • dushu.tw 读书网、小说免费阅读网站

NGINX反代技术疑问

网站 举个栗子 4个月前 (02-11) 181次浏览 0个评论 扫描二维码

有个论坛,源在 SK(洛杉矶机房),我用美西搬瓦工(电信、移动用户)、PR(仅联通用户,稳定性还是可以的)进行反代,由于都是洛杉矶,反代和源 PING 都是 1MS,偶尔波动也是 2MS。速度都很好。
源机是独服,稳定性等都非常好。

做反代的 NGINX 机子,24 小时 ping 源,都是 1MS,也没有丢包。

论坛由于流量不大不小,也有许多的各种机器人什么的境外 IP 等等各种乱访问,基本上没有对 MYSQL 等有什么影响。

之前反代机子用的 WIN2008,装 NGINX(官方破 1024 文件句柄限制版本(1.17.3 好像是,反正是 1.17 版本),不存在 1024 句柄限制,NGINX 各种优化都做好了),后来发现 ERROR 日志里会有,upstream timed out (110: Connection timed out) while reading response header from upstream,说少吧,不少,说多吧,也不算特别特别多。我自己人工访问,偶尔会有抽风的情况,但是 99.9%都正常访问,偶尔出现一次现象是响应非常慢,最后连接丢失,没有出现 502 504 等。情况不多,但是故意要去测试的话,平均下来 1,2 个小时还是可以点出来一次。

由于不知道到底是报错报的时候无法和源连上,还是和访问的客户端无法连接(前后端都使用了 KEEPALIVE),于是换了 WIN APACHE  2.4

APACHE 各种优化好后,包括连接数等等,感觉之前说的手工能测出的 1%连接丢失几乎没有了,但是 ERROR 日志里会偶尔有:

[proxy_http:error] [pid 2136:tid 16172] (OS 10060)由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。  没错,是中文提示,为啥 APACHE 2.4 会有中文这个提示我也不知道,大部分日志都是英文的。

还是不死心,昨天直接换了 CNETOS 7,各种核心文件操作句柄、连接数、安全优化,也使用了最高效的 EPOLL 模型 use epoll;

跑一段时间发现会出现

connect() failed (110: Connection timed out) while connecting to upstream,

同 win 下 NGINX 不同的报错是没有提及 upstream timed out,但还是 110 连接超时。现在我就不明白了,这到底是什么原因呢。。。这个问题无论在搬瓦工 CN2GIA 还是 PR 都一样这种情况,换 LINUX 也一样。这到底是客户端问题(客户端自己异常关闭?或是机器人,可能是垃圾爬虫胡乱抓,但我没法从 IP 上面进行区分,感觉大部分报错的都是国内 IP),还是我的 NGINX CDN 读源问题(也没 PING 丢包啊,1MS,几乎不丢包)。还请反代大神指教

 

 

总结:确实是丢包导致的。别看同在洛杉矶 1MS

根据查看(还是用了普通 PING,而不是 TCPING,那东西占 CPU 有点高),发现 PR 白天都没事,晚 10 点到 SK(源服务器)丢包 4%,且 LOG 出现一些报错 while conncet upstream(22 点开始出现,凌晨 1 点完全消失)。而阿里云轻量,分配了同样多的用户,到 SK(源服务器)没有丢包,日志就没有任何一个 ERROR。

我想了想,确实阿里云 HK 轻量别看只适合联通(移动也凑合,没联通好,电信完全不行),但它的国际线路是最稳的,到联通也是最稳的。唯一缺点就是到洛杉矶要 150MS,反代要 2-3S 才能读出来,但稳定是真稳定,国际带宽也充足。

而之前我的搬瓦工,也有类似情况,我想了想,搬瓦工 DC6,别看三网 CN2GIA,也经常抽风,如果偶尔有 ERROR 感觉还是讲得通的,毕竟艹得人太多,名气在那。总之全部因为 NGINX 回源过程导致的。反正我解惑了,就行了。感谢思路,一直以为自己哪配置错了。


举个栗子 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:NGINX 反代技术疑问
喜欢 (0)
举个栗子
关于作者:
建筑工地上施工员,闲暇时弄个博客打发时间,
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址