微服务- 认识我们的服务2
1: 单个服务, 如下代码的并发数是多少?
java -Xms1800m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=2048m -XX:MaxNewSize=512m -jar gateway-0.0.1-SNAPSHOT.jar
@GetMapping("/test/gogo")
public Mono<String> hahah11() throws InterruptedException {
return Mono.just("test");
}
2:请求线程为1,循环10万次,大家觉得会报错吗?
如下接果:
如果将线程数,改成10, 100, 300, 500 性能有多大改善呢?
如下为10:
1: 改由长连接后: 在一线线程下,10万次请求
2: 10个线程时,
3: 100个线程时,可以达到近1万的TPS
4: 300 个线程
总结的一句话是: http请求在短连接的请求时, 即使是最简单的请求,速度反而不是由http 业务逻辑绝顶的。甚至都不是由http建立连立, 一个完整的HTTP请求在 5毫秒。 速度反而是由释放TCP/IP决定。
这里需要的改进点是不是由长连接就可以解决呢?
如下反应的是一个完整的http请求的时长: