html响应时间java servlet非常高

时间:2014-12-16 22:59:46

标签: java html json tomcat servlets

我有一个需要处理大量简单http请求的servlet。我有时必须将其作为json响应返回,其他时候作为html返回。

整个servlet的代码是相同的,但最后我有一个if语句:

 if(json) {
      request.setContentType("application/JSON");
      String json_response = String.format("some string %s", some_other_string);
      out.print(json_response);
 } else {
      request.setContentType("text/html");
      String html_response = String.format("<html><body>some text %s</body></html>", some_other_string);
      out.print(html_response);
 }

我的连接池设置为:

<Resource name="jdbc/testdb"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/table?autoReconnect=true"
username="user"
password="pass"
maxActive="250"
maxIdle="60"
minIdle="30"
maxWait="10000"
/>

我在专用服务器上运行它。具有12gb ram和ssd的四核。 Tomcat 8和Sun jdk 8

当我发送json响应请求时,服务器每秒处理200个请求没有问题。 但是当我发送html响应请求时,响应时间大约为80毫秒,当负载小于每秒10个请求时,但当它超过此时,响应时间平均为3000 - 4000毫秒。

我定时执行servlet,并在1ms内执行。还有高负荷的html响应,所以3000毫秒应该来自其他地方。

我尝试将html放入jsp文件中,但这并没有改变任何内容。

我无法运行visualVM来检查servlet的性能,但由于它在1ms内执行,我认为问题应该在Tomcat配置中的某个地方。

有人对解决此问题的方法有所了解吗?

由于

0 个答案:

没有答案