我们开发了SMPP应用程序。它的短信接收速度仅为每秒16条短信。 我怎样才能提高这个速度?
答案 0 :(得分:1)
首先,我建议让JRat分析应用程序。在优化之前,您需要知道优化的位置。
话虽如此,我也经历了这一点。我遇到的最大瓶颈是ServerPDUEventListener
实现 - 在我的第一个版本中,我正在处理该类中的所有传入PDU - 它们对它们进行序列化访问 - 还有一些正在进行数据库访问!我解决这个问题的方法是为PDU生成线程,我实际上想要以更详细的方式处理 - 在我的例子中,这是DELIVER_SM
PDU和SUBMIT_SM_RESP
PDU,但这取决于实际正在开发的应用程序。在单独的线程中处理它们意味着我的主ServerPDUEventListener
可以自由地继续处理下一个PDU。瓶颈类似于实现服务器套接字 - 每当accept
客户端套接字时,您希望返回监听其他传入连接并在单独的线程中处理通信。
答案 1 :(得分:0)
用Java编写的应用程序是什么类型的?
一些事情 1.查看大部分时间处理的位置。这将导致解决方案 2.可以优化处理流程以排队和处理消息
还有其他因素,如硬件配置等,但普通硬件提供了不错的性能。
答案 2 :(得分:0)
首先处理异步模式下的所有传入和传出短信。例如,在jsmpp lib中,您可以处理异步和同步模式下的所有流量。第一种模式更快。</ p>
如果可能的话,在单独的线程中处理所有繁重的业务逻辑,如果可能的话,例如在企业java bean中处理。如果您的流量非常大且业务逻辑太重,那么在smpp和企业Java bean中使用异步模式可以极大地改善您的应用程序架构。