在工作中遇到一个问题,在A服务器上投递一条数据到B服务器【用Curl访问服务器B上的一个URL】,但是对比两边的数据【A服务器上的Nginx日志和B服务器上的Nginx日志】总是对比不上
B服务器的日志条数比A上每小时要少4%左右,服务器上也没有任何报错日志,curl 也没有报错。这个就让我很头疼。后来一问运维才知道并发很高。难道是由于并发的原因吗?
那为什么连一条错误日志也没有呢?
为了证明这个假设,我设计如下实验:
1 让运维把A服务器上的日志切成一个文件【一小时一个】
2 让PHP去读取文件内容,之后循环投递到B服务器
3 查询B服务器上的日志条数
测试结果表明,循环发送之后B服务器日志条数和运维切文件的日志条数一样,这样就说明在高并发情况下,会丢失投递的数据。