java.net.SocketTimeoutException在生产上的峰值流量

java.net.SocketTimeoutException在生产上的峰值流量,java,crashlytics,connection-timeout,akamai,socket-timeout-exception,Java,Crashlytics,Connection Timeout,Akamai,Socket Timeout Exception,我们在生产上一直面临着这个问题。现在,每当向所有移动应用程序和桌面应用程序发布通知时,就会出现此问题。在通知中,有一个图像缓存在CDN(Akamai)中。因此,很多用户都会遇到以下例外情况。我试图找出问题所在,但很多人说这可能是由于 设备上存在网络问题,但我的问题是XXXX.XXXX.com的DNS已通过akamai ip(117.239.141.27)解决。所以,这应该不是问题。此外,我曾与Akamai人员合作过,他们在工作中没有发现任何问题。因此,我有以下问题: 1) 我如何找出问题的原因?

我们在生产上一直面临着这个问题。现在,每当向所有移动应用程序和桌面应用程序发布通知时,就会出现此问题。在通知中,有一个图像缓存在CDN(Akamai)中。因此,很多用户都会遇到以下例外情况。我试图找出问题所在,但很多人说这可能是由于 设备上存在网络问题,但我的问题是XXXX.XXXX.com的DNS已通过akamai ip(117.239.141.27)解决。所以,这应该不是问题。此外,我曾与Akamai人员合作过,他们在工作中没有发现任何问题。因此,我有以下问题:

1) 我如何找出问题的原因?第二,是否有人在交通高峰时遇到过类似的生产问题

2) 正如下面我从crashlytics得到的堆栈轨迹中提到的。在少数情况下,我们会获得私有客户端ip(192.168.1.33),为什么会这样? 客户端的公共ip不应登录crashlytics

Caused by java.net.SocketTimeoutException: failed to connect to XXXX.XXXX.com/117.239.141.27 (port 80) from /192.168.1.33 (port 50974) after 15000ms
       at libcore.io.IoBridge.connectErrno(IoBridge.java:185)
       at libcore.io.IoBridge.connect(IoBridge.java:129)
       at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:137)
       at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
       at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
       at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
       at java.net.Socket.connect(Socket.java:621)
       at com.android.okhttp.internal.Platform.connectSocket(Platform.java:145)
       at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:1416)
       at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:1368)
       at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:219)
       at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:142)
       at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:104)
       at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:392)
       at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:325)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:488)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:434)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:565)
       at com.squareup.picasso.UrlConnectionDownloader.load(UrlConnectionDownloader.java:125)
       at com.squareup.picasso.NetworkRequestHandler.load$71fa0c91(NetworkRequestHandler.java:6)
       at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:72)
       at com.XXXXX.XXXXX.utils.AppNotificationHandler.getTabCategoryIdForScreen(AppNotificationHandler.java:82)
       at com.XXXXX.XXXXX.utils.AppNotificationHandler.handleExtras(AppNotificationHandler.java:806)
       at com.XXXXX.XXXXX.fcm.FCMIntentService.onMessageReceived(FCMIntentService.java:112)
       at com.google.firebase.messaging.FirebaseMessagingService.zzd(FirebaseMessagingService.java:394)
       at com.google.firebase.iid.zzg.run(zzg.java:26)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.android.gms.common.util.concurrent.zza.run(zza.java:7)
       at java.lang.Thread.run(Thread.java:764)

如果客户端通过wifi连接,您将始终获得私有ip。所以这不是问题。检查是否有防火墙阻止访问。如果客户端通过wifi连接,您将始终获得私有ip。所以这不是问题所在。检查是否有防火墙阻止访问。