在单数据库,单计算机服务下随着用户的增加,随之而来的会出现很多问题,诸如连接、jvm空间不足等等,这些问题带来的后果就是性能大打折扣,客户投诉。当然处理办法有多种,比如添加服务,做负载均衡,添加缓存服务,动静分离等等。这里我们只谈谈对服务器(tomcat)和数据库(mysql)的优化。
-
tomcat相关
我们在做大数据测试时常常会碰到这样一类错误:outofmemoryerror:java heap space
这类问题出现的原因就是jvm的堆内存已满,导致内存溢出。解决这类问题首先要查的还是程序,看是否有死循环之类的bug问题,还有就是增加jvm的堆内存。这个配置需要在tomcat的bin目录下的catalina.bat文件中设置。编辑这个文件,在文件的rem -----------------------------------------------------------------和rem Guess CATALINA_HOME if not defined之间插入:set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m,这里做下介绍 -Xms(JVM初始化堆的大小 不要超过物理内存的80%
),-Xmx(JVM堆的最大值 不要超过物理内存的80%
),-XX:PermSize(jvm非堆内存初始值 默认是物理内存的1/64),XX:MaxPermSize(jvm非堆内存最大值 默认是物理内存的1/4)
熟悉IO与NIO的都知道,他们的区别和对性能的影响,这里就不多说了,其实tomcat是支持java NIO特性的,只不过默认情况下并未开启该功能,比如我们在未配置过的tomcat中常常会发现如下的配置
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
而且启动时你会发现如下信息
2012-10-26 18:14:07 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2012-10-26 18:14:07 org.apache.catalina.startup.Catalina load
以下便是开启tomcatNIO特性
<Connector URIEncoding="UTF-8"
acceptCount="1000"
connectionTimeout="20000" port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
redirectPort="8443"/>
在tomcat启动时创建线程池,解决tomcat在获取请求时候创建线程的压力消耗,从而提升tomcat处理能力
在tomcat的server.xml文件中添加如下线程池声明
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="1000"
minSpareThreads="300" />
相关参数说明
name:线程池的名称
namePrefix:线程池的前缀
maxThread:最大线程数
minSpareThreads:初始化线程数
声明完线程池后,接着就使用该线程池,在tomcat的server.xml的连接器中配置该线程池,效果如下
<Connector executor="tomcatThreadPool"
URIEncoding="UTF-8"
acceptCount="1000"
connectionTimeout="20000"
port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
redirectPort="8443"/>
分享到:
相关推荐
"JDK + Tomcat + MySQL环境集成工具"是一个组合了三个核心组件的解决方案,它们分别是Java Development Kit(JDK)、Apache Tomcat服务器和MySQL数据库。这个集成工具旨在简化开发和部署过程,帮助开发者快速建立一...
它的高速读写能力使其成为优化Web应用性能的理想选择,可以减少对数据库的访问,提高响应速度。 Keepalived是一个用于网络服务高可用性的工具,它可以监控系统服务,并在服务出现故障时进行快速切换,确保无中断的...
- **性能调优:** 本指南仅涉及基本安装流程,对于进一步的性能优化,建议参考官方文档或其他专业资料。 - **图文并茂:** 安装指南中提供了详细的安装步骤截图,便于用户按照步骤操作。 综上所述,本文档提供了关于...
Java网站基础环境构建通常涉及到三个核心组件:Tomcat(应用服务器),MySQL...同时,随着技术的发展,了解如何优化和维护这样的环境,如调整数据库索引、监控服务器性能、备份策略等,也是开发者必须掌握的技能。
《Android+Tomcat+MySql+jsp一万行代码无线点餐系统详解》 在现代餐饮行业中,技术的应用已经成为提升服务效率、优化客户体验的重要手段。本文将深入解析一个基于Android客户端、Tomcat服务器、MySQL数据库以及JSP...
例如,文件上传需要防止恶意文件,聊天功能需要防止SQL注入,而性能优化则可能涉及到缓存策略、数据库索引等。 总结来说,这个实例涵盖了Web开发的多个关键环节,包括前端展示、后端逻辑处理和数据存储。通过学习和...
4. 性能优化:考虑服务器性能和网络延迟,优化数据传输和处理速度。 综上所述,这个项目涵盖了移动应用开发、服务器端编程、数据库管理和网络通信等多个领域,是学习和实践Android、Tomcat、MySql和Socket技术的...
### XP下Jdk+Tomcat+Eclipse+MySQL快速搭建JSP环境 随着信息技术的飞速发展,越来越多的企业和个人需要高效且安全的Web应用程序。Java Server Pages(JSP)作为一种广泛使用的Web开发技术,因其高性能、高安全性、...
在聊天应用中,可能需要创建用户表、好友关系表以及聊天记录表,并通过合适的索引优化查询性能。 标签中提及的“一万行代码”意味着这是一个相对复杂的项目,涉及的代码量较大,涵盖了许多功能模块,如用户注册、...
5. **测试与优化**:确保所有服务器都能正确读取和写入session,同时监控Redis的性能,以防止session过载导致的问题。 这个视频教程可能涵盖了这些步骤的详细过程,包括配置文件的示例和可能遇到的问题解决方案。...
了解其工作原理,如生命周期管理、线程模型、部署流程和性能优化是必要的。理解Context、Loader、Wrapper等组件的作用,以及如何配置和调整Tomcat以适应高并发场景。 2. **Mysql**:数据库知识是任何后端开发者的...
在面试中,面试官可能会询问你关于数据库设计、性能优化以及如何处理大数据量场景的问题。 设计模式是软件设计中的经验总结,它们是解决常见问题的最佳实践。在Java面试中,设计模式是必不可少的知识点。常见的设计...
在本教程中,我们将深入探讨如何使用Tomcat作为应用服务器,以及MySQL作为数据库,来构建一个支持Android客户端的...在实际开发中,还需要考虑安全性、性能优化、异常处理等多个方面,确保服务器端的稳定和高效运行。
此外,性能优化也是关键,例如使用缓存技术、数据库索引、异步处理等方法提升系统响应速度。 8. **前端技术**: 虽然主要讨论的是后端技术,但一个完整的网上商城还会涉及到前端技术,如HTML、CSS、JavaScript,可能...
1. 调整Apache和Tomcat的配置以优化性能,如调整并发连接数、内存使用等。 2. 设置防火墙规则,只允许必要的端口对外访问。 3. 对数据库进行安全配置,如修改默认root用户密码,限制远程访问等。 完成上述步骤后,...
此外,数据库设计和优化也是关键,例如,合理的表结构设计、索引的创建以及查询性能的调优。 Tomcat作为Apache软件基金会的开源项目,是一款轻量级的Java应用服务器,它支持Servlet和JSP标准。在这个网上书店项目中...
在实践中,可能需要进行调试和性能优化,例如调整Tomcat的线程池大小、内存分配、数据库查询效率等。 总的来说,搭建TOMCAT+MySQL+ODBC的网站需要理解Web服务器、数据库服务器和它们之间的通信方式。这涉及到服务器...
【JDK安装】 JDK(Java Development Kit)是Java编程语言的开发环境,包含了编译器、调试器和...不过,这个指南仅涉及安装步骤,对于性能优化、安全管理、配置调整等高级话题,建议查阅专门的文档或教程进行深入学习。