<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                在項目中,我們曾用jemter對 `tomcat`與`undertow`進行了同等的壓力測試,后發現,`undertow`比`tomcat` 的吞吐量應該要高20%,所以,我們選擇了`undertow`作為我們的Serlvet容器,`undertow` 是紅帽公司開發的一款基于 NIO 的高性能 Web 嵌入式服務器,這也是SpringBoot中所推薦使用的服務容器,相比其他的服務器他更加輕量級,但在默認的情況下,SpringBoot內嵌了`tomcat`服務器,所有需要先將`tomcat`進行移除。 1.在pom.xml移除`tomcat`的依賴 ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> ``` 2.添加Untertow 依賴 ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency> ``` 3.在application.yml中對`undertow`來進行配置。 經過我們內部的測試,擁有200個線程的api項目在 i3 8100上是比較合理的,服務器隨cpu性能強弱修改線程數量 ``` server: undertow: worker-threads: 200 ``` undertow還有很多的配置項,大家可以根據需要來進行配置。 ``` # 設置IO線程數, 它主要執行非阻塞的任務,它們會負責多個連接, 默認設置每個CPU核心一個線程 # 不要設置過大,如果過大,啟動項目會報錯:打開文件數過多 server.undertow.io-threads=16 # 阻塞任務線程池, 當執行類似servlet請求阻塞IO操作, undertow會從這個線程池中取得線程 # 它的值設置取決于系統線程執行任務的阻塞系數,默認值是IO線程數*8 server.undertow.worker-threads=256 # 以下配置會影響buffer,這些buffer會用于服務器連接的IO操作,有點類似netty的池化內存管理 # 每塊buffer的空間大小,越小的空間被利用越充分,不要設置太大,以免影響其他應用,合適即可 server.undertow.buffer-size=1024 # 每個區分配的buffer數量 , 所以pool的大小是buffer-size * buffers-per-region server.undertow.buffers-per-region=1024 # 是否分配的直接內存(NIO直接分配的堆外內存) server.undertow.direct-buffers=true ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看