GCM 负载测试失败
Posted
技术标签:
【中文标题】GCM 负载测试失败【英文标题】:GCM failing on load testing 【发布时间】:2016-08-22 13:33:01 【问题描述】:我正在使用 GCM 为我的应用开发推送通知功能。经过大量阅读和互联网帮助后,我使它在我的测试环境中工作(客户端数量较少,300 个用户)。我满怀希望地将它发布到暂存环境(大量客户端,> 5000 个用户)中,却发现它非常失败。我得到 net::ERR_CONNECTION_REFUSED 并且没有得到任何响应(成功、失败、canonical_ids 等)。
我认为这是registration_ids 限制并对其进行了处理,但仍然在网络控制台中得到相同的响应。我认为糟糕的互联网带宽/连接性,但这也是一个死胡同。这个你能帮我吗。 TIA。
PS : 使用 node.JS 构建推送通知功能。使用 async-npm 将 P.Ns 发送到大量 reg_ids。
【问题讨论】:
【参考方案1】:大多数情况下,错误的发生是由于互联网连接和您用于连接互联网的设备中的问题。如果检查您的 Internet 连接或您可能正在使用的其他网络设备不起作用,则可能是防火墙阻止了通信。它也可能是服务器上的防火墙,或者服务器被配置为只接受某些类型的连接(这对于服务器来说是很正常的)。
您可以查看这些相关链接:
Error 102 (net::ERR_CONNECTION_REFUSED): The server refused the connection
An XMPP Server for Google Cloud Messaging
公司网络中可能会出现许多问题,因为防火墙可能会阻止对相当不寻常的端口的访问,或者代理可能会干扰任何传出流量。异常表明您的网络存在问题 - 它只是超时。我想 Google 和您的提供商都不是这里的问题。检查您的设置以及您与外部互联网之间的任何防火墙(公司或个人)。
【讨论】:
如果是服务器上的防火墙,它必须阻止所有的 GCM 调用。但它不是。它只发生在大量客户身上。我的互联网连接没有任何防火墙,我也没有广告拦截器来阻止我的 http 请求。它仅适用于少数客户。防火墙如何允许小请求并在大量客户端时阻止。以上是关于GCM 负载测试失败的主要内容,如果未能解决你的问题,请参考以下文章
负载测试IdentityServer4给出异常:在唱歌后尝试请求signin-oidc路由时相关失败