jfinal 浏览器端请求同一个接口,响应特别长.目前测试是由于查询效率问题

我有个接口,请求量大概2秒内有 280多个请求进入,如果自己测试一次的响应时间大概是在1秒到2秒左右.但是请求有280多个的时候,就会出现最先请求的是正常的1秒多  但后续的请求维持在一个比较长的响应的时间,大概10多20秒  这个就让我很恼火.想问下有没有什么办法可以解决.从打印出来的sql上来看,是异步查询的.目前推断是因为查询语句过多造成的后面的访问过慢.不知道该如何解决image.png


image.png

评论区

杜福忠

2020-04-01 12:20

优化sql优化数据库能力,最简单的操作是加索引,少用函数,少用连接查询,大表放前面等等操作,可以网上查到数据库优化的资料,还有就是加大数据库的配置看看CPU占用多少了等等

JM-java

2020-04-01 13:45

@杜福忠 但是我是hibernate那一套系统迁移过来的 sql语句没变化.那一套hibernate的加了二级缓存的,我唯一发现的不同点就是这一个了.我试试能不能尽可能提升效率吧

杜福忠

2020-04-01 15:41

@JM-java 那JF也加上缓存嘛,缓存从内存中键值直接取值,自然是快了 https://jfinal.com/doc/5-8

杜福忠

2020-04-01 16:07

@JM-java 还有一个地方要配置一下 就是 new DruidPlugin(xxx).set(int initialSize, int minIdle, int maxActive) 加大一点,看你这测试情况,可以加到300,当然也得看你数据库的配置最大连接数是多少了