【问题标题】:How many users can receive SMS in 1 minute if delay is acceptable如果延迟可以接受,1 分钟内有多少用户可以收到短信
【发布时间】:2015-03-25 22:58:21
【问题描述】:

起初这似乎是一个简单的计算,但事实并非如此。

根据 Twilio 的说法,我可以每部手机每秒发送一条短信。因此,如果用户必须在一秒钟内收到一条短信,那么用一部手机,我可以在 60 秒内发送 60 条短信。但是,如果 5 秒钟的等待是可以的。如果我有 5 部手机而不是 1 部呢?那么有多少用户可以在一分钟内满意地接收短信呢?

如果我换成 8 部手机而不是 5 部呢?

同样,满意意味着用户在 5 秒内收到短信,如(0,5]

我需要知道答案,以便知道要从 Twilio 购买多少电话号码。我正在为我的移动应用推出自己的短信验证。谢谢。

【问题讨论】:

  • "如果用户必须接收短信"- 错误的技术。 SMS一点也不可靠,更不用说有时限了。当然,交货通常很快,但可能会发生 24 小时延迟或完全损失。这就是它们便宜的原因:送货是一种尽力而为的尝试。
  • @MSalters 感谢您的意见。但我仍然想在我的设计中尽最大努力,这样我就不会成为瓶颈。
  • 我认为你看错了问题。正如@MSalters 指出的那样,SMS 技术没有时间限制,也没有安全/可靠,因此发送并不意味着接收。您应该检查您的服务提供商传输网络设备的功能,因为 SMS 接收率与 SMS 发送率几乎无关......但这是我的意见,如果我错了,请纠正我(这是我不得不几年使用电信设备做一些事情)并小心寻找什么,因为 SMS 不使用正常的数据通道,而是使用调试/维护通道
  • @Spektre:那是 GPRS 之前的 GSM。而且它不是维护或调试通道,而是信号通道。
  • @MSalters 很高兴知道谢谢您的纠正

标签: algorithm math sms twilio


【解决方案1】:

理想条件下:

users = max_delay * rate * nb_phones

5s * 1/s * 8 部手机 = 40 个并发用户

1 分钟的时间并没有说明什么,因为重要的是用户何时提出请求,而那可能发生在任何给定时间。

忽略实际网络请求、服务器排队等所花费的时间,理论上您可以发送多快。在现实世界中,我希望该值小于该值,因此请考虑误差范围。

这并没有说明客户端接收短信的速度。

如果您在美国/加拿大/英国,您可以查看shortcodes

来自常见问题解答:默认情况下,Twilio 短代码每秒可以发送 30 条消息;可以通过额外费用提高此限制。由于短代码可以发送大量消息,因此无线运营商会单独批准每个短代码用于其预期用途。此审批过程通常需要 12 到 16 周。

【讨论】:

  • 不知道为什么您认为短代码限制为 30 条消息/秒。早在 2003 年,我们已经推出了接近 500 条消息/秒的消息。 (游戏节目投票)
  • 实际上每分钟的费率对我来说很重要,因为那是我要问的时间段。否则 40*60 = 24000 的误导性假设将成立
  • 我不确定您需要用该分钟速率来衡量什么。假设您有 100 个用户需要在最多 5 秒内收到短信。使用 8 部手机,其中 40 名用户将在 5 秒内收到短信,另外 40 名在 5-10 秒之间收到短信,其余的在 10 秒后收到。只有 40 个用户满意。如果您需要分钟费率,则需要考虑请求之间的平均时间。
猜你喜欢
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 2016-01-19
  • 2017-06-03
  • 1970-01-01
相关资源
最近更新 更多