如何改进spring-mvc和tomcat中

时间:2015-07-07 18:44:59

标签: java performance spring-mvc tomcat audio-streaming

我正在构建一个应用程序来播放存储在应用程序服务器上的nas上的 opus 音频文件。应用程序读取这些文件,并将它们发送到HTTP响应输出流。

我正在使用spring-mvc,而web应用程序在tomcat上运行。 我使用以下方式获取音频文件:

<mvc:resources mapping="/audios/**" location="file:/path/to/the/mounted/nas"/>

我在<audio>标记中提供它们。

现在我想让应用程序极具反应性和多用户友好性。如果我有20个人同时播放很多音频,系统会变得很慢,我不知道最好的事情是什么。

您能否建议我如何改进应用程序

由于

1 个答案:

答案 0 :(得分:1)

您必须首先调查实际延迟发生的位置。是从代码中从文件系统获取资源,还是因为Tomcat无法承受更多负载。为了确保它不是代码问题,您可以记录代码执行时间并检查一切是否正常。这是做到这一点的方法 - How do I time a method's execution in Java?

现在,如果Tomcat服务器无法承受负载(看起来更可能出现问题),您可能需要考虑通过使用Apache Web服务器创建负载均衡器配置来拥有多个tomcat实例的集群。这种方式请求流量负载将由Web服务器分发到所有正在运行的tomcat节点,这将减少延迟。

您可以在这些链接

中找到如何配置负载平衡

http://www.tutorialspoint.com/white-papers/load-balancing-and-scalability-via-tomcat-clusters.htm

https://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html