`
zhouchaofei2010
  • 浏览: 1106950 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat NIO/APR对静态资源提速|tomact图片缓存|tomcat静态资源缓存|tomcat内部缓存

 
阅读更多

tomact图片缓存| |tomcat静态资源缓存 tomcat内部缓存  

 

http://xiaoz5919.iteye.com/blog/1255273

 

1.Tomcat如何处理静态资源?处理静态资源很简单,只需根据URI定位到文件,然后读取文件,写到response的outputstream中去,但tomcat是如何处理,是不是通过servlet container统一处理,还有另有其他方式?最终我发现是由DefaultServlet来处理。

2.APR/NIO Connecter不仅能提高吞吐量,而且使用sendFile使用内核IO,而不是java通过封装以后的IO提高对静态文件的处理。

3.是不是所有的文件都交给sendFile来处理呢?不是,在DefaultServlet中有一个sendFileSize,默认为48k,也就是说只有48k以上的文件才能通过sendFile方式来处理。

4.如有修改DefaultServlt的默认参数,只在web.xml中重新配置DefaultServlet,并修改initParameter。

5.Tomcat代码研究:Tomcat对静态资源提供缓存提高了性能

Java代码  收藏代码
  1. if (serveContent) {  
  2.                try {  
  3.                    response.setBufferSize(output);  
  4.                } catch (IllegalStateException e) {  
  5.                    // Silent catch  
  6.                }  
  7.                if (ostream != null) {  
  8.                    //是否满足使用sendFile的条件,如满足则使用  
  9.                    if (!checkSendfile(request, response, cacheEntry, contentLength, null))  
  10.                       //不满足,则copy文件到response中的outputStream中  
  11.               //  
  12.                        copy(cacheEntry, renderResult, ostream);  
  13.                } else {  
  14.                    copy(cacheEntry, renderResult, writer);  
  15.                }  
  16.            }  

 

分享到:
评论

相关推荐

    webServer tomcat5 / tomcat6 / tomcat7 / tomcat8

    标题中的"webServer tomcat5 / tomcat6 / tomcat7 / tomcat8"涉及到的是Apache Tomcat服务器的不同版本。Tomcat是一款开源的Java Servlet容器,主要用于实现Java Web应用程序的运行环境。它支持Servlet和JSP标准,由...

    NiO/γ-Al2O3的制备及对煤微波热解的影响

    以浸渍-焙烧法制备NiO/Al2O3型催化剂.采用该催化剂微波热解低变质煤,探讨了热解产生的气体组成、液态油品成分特点及固态残渣的形貌与负载催化剂制备条件的相互关系,考察了负载NiO的工艺条件如浸渍方式、焙烧时间和...

    NiO/TiO2复合结构的制备及其电化学性能研究

    【NiO/TiO2复合结构的制备过程】 在电化学领域,NiO/TiO2复合结构因其独特的性能,被广泛应用于超级电容器的电极材料。本研究由叶树婷、王岩等人进行,他们以阳极氧化法制得的TiO2纳米管有序阵列薄膜为基础材料,...

    手写 tomcat nio

    这个过程不仅可以帮助我们深入理解Tomcat的工作原理,还能提升对Java NIO框架的掌握。然而,需要注意的是,实际的Tomcat服务器远比这个简化的实现复杂,它包含了更多的细节处理和优化。在实际项目中,如果需要高性能...

    制备条件对煤热解制氢用NiO/γ-Al2O3催化剂活性影响的研究

    文章介绍了一种负载型NiO/γ-Al2O3催化剂的制备,并且从Ni的负载量、焙烧时间、焙烧温度3个方面探讨了不同的制备条件对NiO/γ-Al2O3催化剂活性的影响。通过实验确定了NiO/γ-Al2O3催化剂制备的最佳工艺条件,应用XRD...

    tomcat 1000/s 并发配置

    4. **启用NIO或 APR**: Tomcat默认使用BIO(阻塞I/O),但为了提高性能,可以切换到NIO(非阻塞I/O)或APR(Apache Portable Runtime)模式。NIO使用单一线程处理所有连接,而APR利用操作系统级别的特性,如Windows...

    Tomcat8/window/64

    【标题】"Tomcat8/window/64"指的是在Windows 64位操作系统上使用的Tomcat 8服务器软件。Tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,它是一个开源的Java Servlet容器,实现了Java Servlet和JavaServer...

    tomcat apr模式所需资源包

    APR与Tomcat结合,可以让Tomcat更好地利用硬件资源,特别是在处理大量并发连接时,能显著提升性能。 要启用Tomcat的APR模式,首先需要安装两个关键的依赖库:OpenSSL和APR库。OpenSSL是一个强大的安全套接字层密码...

    tomcat7/8/9.zip

    【标题】"tomcat7/8/9.zip" 涵盖了三个版本的Apache Tomcat服务器,分别是Tomcat 7.0.88、Tomcat 8.5.37以及Tomcat 9.0.10。Apache Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java Servlet和JavaServer ...

    apr库(tomcat优化)

    主要提升对静态资源(如HTML、图片、CSS、JS等)的访问性能。现在这个库已独立出来可用在任何项目中。Tomcat在配置APR之后性能非常强劲。 tomcat默认采用的BIO模型,在几百并发下性能会有很严重的下降。tomcat自带还有...

    tomcat7.59/7.65/7.79linux版

    3. **NIO和 APR连接器**:Tomcat 7支持两种连接器模式,NIO(非阻塞I/O)适用于高并发场景,而APR(Apache Portable Runtime)利用操作系统的原生API提高性能。 4. **更好的安全性**:Tomcat 7增强了安全管理器,...

    氮气退火对NiO/ZnO:A1薄膜PN结的影响* (2012年)

    使用UV-1700型分光光度计、KEITHLEY4200-SCS半导体测试仪、JSM-6490LV型扫描电子显微镜等分析氮气退火对NiO/ZnO:A1薄膜性能的影响。实验结果表明:500℃退火范围内,NiO薄膜的透过率随退火温度的升高单调上升,500℃...

    烧结温度对NiO/MWCNT活性材料电化学性能的影响

    烧结温度对NiO/MWCNT活性材料电化学性能的影响,吴微,顾大伟,本文以乙醇为分散剂,配制六水合硝酸镍(Ni(NO3)2o6H2O)和多壁碳纳米管(MWCNT)的混合物,在不同温度(200 ~ 400 ℃)下烧结该混合物得�

    tomcat apr工具包及安装说明

    export APR_DIR=/path/to/apr/installation export SSL_LIBS="-lssl -lcrypto" ./configure --with-apr=$APR_DIR --with-java-home=$JAVA_HOME --with-ssl=$SSL_LIBS make sudo make install ``` 5. 配置...

    apache-tomcat-7.0.108(UTF8).zip

    4. **连接器优化**:Tomcat 7的NIO(非阻塞I/O)和 APR(Apache Portable Runtime)连接器提供了更高的并发性能,适合处理高流量的Web应用程序。 5. **配置改进**:Tomcat 7的配置文件更加简洁,易于理解和管理。...

    tomcat apr

    默认情况下,Tomcat使用纯Java的NIO(非阻塞I/O)模型来处理网络通信,但当集成APR时,它能利用操作系统级别的特性,如Epoll(Linux)或Kqueue(FreeBSD, macOS)来提升性能。 APR库通过一个名为`tcnative-1.dll`的...

    cipher-list-creator.jsp:为 Tomcat NIOBIO 连接器的 server.xml 创建密码列表

    目标环境Tomcat + JDK 使用 NIO/BIO 连接器进行 SSL。 在 Tomcat 7 + Java 7 / Tomcat 8 + Java 8 上测试,但写成 Tomcat 4.1 + JDK1.4.2 兼容。注意密码列表按推荐顺序排序。 接下来 Tomcat 将支持 Tomcat 8.0.21 /...

    Tomcat(6.0+7.0+8.0+8.5+9.0+教程)安装包版本大全(附配置教程)大全

    Tomcat 7.0 带来了许多改进和新特性,包括对Java EE 6的支持、NIO2的引入、更好的管理和监控工具以及增强的安全性。这个版本是许多企业过渡到更高级别Java EE标准的一个重要步骤。 Tomcat 8.0 和 8.5 版本进一步...

    apache-tomcat-9.0.45.zip

    例如,NIO2和APR(Apache Portable Runtime)连接器提供了更高效的I/O处理,对于高并发场景尤其有利。此外,9.0.45版本可能会包含针对内存泄漏和线程安全问题的修复,确保服务器的稳定运行。 总之,Apache Tomcat ...

Global site tag (gtag.js) - Google Analytics