1.我这说个之前遇到的问题 php 并发到一定程度(请求数很固定)就开始报502错误。 一开始以为是php和php-fpm的配置问题。查了好多都很正常,也对应的修改了一些值,在测试还是到一定的数量就报错。然后开始怀疑。 0.查看是不是mysql问题,单独写了一个php文件,输出hello 压测 还是到一定量报502 1.磁盘不正常对应的扇区坏了有问题 把项目代码换个分区地址,再起请求还是同样问题 2.还是网络不正常,内网的流量是不是设置限制了 找内部it更换交换机,和帮忙查看是否受限制,更改后。再起请求还是同样问题 3.在网上搜索,有些人说内核问题然后开始排查 使用 dmesg 命令查看 (nf_conntrack: table full, dropping packet) 大量的这个问题。 意思是追踪内存表,打满,开始丢包。找到这个问题剩下的就好解决了,网上搜着大概有4中方式,我就用了最简单粗暴的方式,直接关闭iptables。主要是内部使用的测试机,也无需iptables设置。 --斯图尔特 2.思路感觉还是略蒙。。。特别开始先查磁盘 宁可查最大文件数或者查查错误日志等也不应该先查磁盘吧 -- kunsir 3.因为是内部测试机,数据代码,日志,从来没清理过。第一步是看数据库。 还有到这为啥先看磁盘,是之前这个测试人员,测试过接口没问题,这次他是新拉取代码分支。换了个地址。。先入主,的概念,引导了我。 --斯图尔特 4.这应该分两种情况,要看 redis 之类的超时是否大于 php 脚本的超时时间,如果 redis 超时大于脚本运行时间,应该报的是 502,因为 worker 进程和 nginx 的连接先断了 不过还得确保脚本运行时间大于 nginx 的 upstream 的超时时间,要不就报 504 --yangmls 5.我们有次程序 hang 住了,就是靠 strace 猜出来的 --yangmls 6.搞一个发布前的线上release版本,环境同线上一模一样,然后开启报错,各种测 --方言颂奇 7.测试是一个环节,但是不能保证问题一定会浮现 --宋明明 API杂谈 http://mp.weixin.qq.com/s?__biz=MjAzNzMzNTkyMQ== |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|