gpt4 book ai didi

java - 高流量时 Rest-API 响应时间增加

转载 作者:行者123 更新时间:2023-11-30 06:39:32 24 4
gpt4 key购买 nike

我们使用 Tomcat7 和 Java 7。我们获得的吞吐量约为 500 请求/秒。但在多个实例到位的情况下,单个实例只能处理 20 个请求。

问题在于单实例响应时间累计超过 20 个请求。

举个例子:-

***1。如果第一个请求需要: - 5ms(毫秒)

  • 然后第二个请求需要: - 10ms

  • 第三:- 15ms 等等.......***

  • 我尝试让它保持不变,但它不起作用。

    我们尝试过什么:-
    1. Tomcat7中连接器由BIO改为NIO。
    2. 增加 maxThreads = 1000。
    3. 核心数从2核增加到10核。
    4. 异步API实现。

    以上方法均无效。

    我们想要实现的目标:-

    1. 我们希望 API 具有恒定的响应时间。
    2. 单个实例中每秒 100 个请求。

    -----------------<>--------------<>--------- ---------------<>----<>--------------

    编辑:-

    好的,经过一天的阅读代码并尝试不同的事情之后。找到了性能低下的主要原因。这是由于 InputStream read() 函数的阻塞性质造成的。当java从socket读取o/p时。 Socket 返回输入流中的 o/p。 Inputstream.read() 是java中的阻塞方法(下面附有链接)。仍然不知道如何解决它。

    链接:- http://javarevisited.blogspot.in/2012/02/what-is-blocking-methods-in-java-and.html#axzz4kWX7K7Yc

    尝试了很多Java NIO的方法,但到目前为止都没有效果。

    提前致谢。

    最佳答案

    查看内存消耗、网络,也许还可以启动一个配置文件。您在什么样的硬件上运行?确保您的 java 内存参数正确传递到 tomcat。启用垃圾收集日志。

    https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/memman.html

    CATALINA_OPTS vs JAVA_OPTS - What is the difference?

    另外,请描述一下流程,你的tomcat可能没有什么问题,例如,如果你使用的数据库限制了X连接,那么你就被数据库拖慢了。

    最常见的请求是什么?这些请求在做什么?

    关于java - 高流量时 Rest-API 响应时间增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44624581/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com