调优涉及的东西及经验很多,根据最近项目的调优做了总结:
1。OS调优。
做过一个试验。在windows2000 server和red hat2.6上架相同的服务。配置都设置成一样。硬件环境也差不多,跑相同的web应用。结果windows的测试结果很差强人意。看来不同的操作系统,还是很有大区别的,以后选择服务器的慎重啊。。呵呵
linux 服务器调优:
1. 考虑软件版本升级。出于以下两个原因:a 不同版本本身一些性能的差距。 b 调优内核参数而不得不升级。
2. 硬件升级。磁盘的读写速度,内存多少,百兆,千兆甚至光钎网卡的区别,都可能会使性能瓶颈。
2。web server调优
由于对于其他web server了解不是很多,故只说说tomcat的调优。
1。适当提高server.xml配置。关掉一些不用的功能。
2。适当提高jvm初始化参数。(当初针对我们的项目做过一些参测,不是越高越好)
3。适当选择不同厂家的JVM。(简单做过IBM JVM 和 Sun JVM的一些测试。发现IBM的速度要快一点,不过由于不太熟悉IBM JVM,并且项目是用Sun JVM开发的,最终选择了Sun JVM5.0------性能高于1.4很多)
4。当初为了测试,选择的load balance是apache。也做过一些调整。2.0以上版本的调优选项比低版本的多很多。注意各种工作模式在各个操作系统上性能的表现并不一致!不过我们实际环境最后上的是硬件load balance,呵呵
3。数据库调优
首先建议用好的数据库。不过如果客户没钱。那就没办法了。另外选择不同数据库,对某些需求实现繁简不同。比如对某些字段加密解密。
刚做过mysql的调优,简单说下:
1。慎重选择所用表类型。不同类型对事务,查询的支持不同。速度也相差很大。
2。针对支持事务型和非事务型做不同配置。
3。做国际化时最好把存储编码传送编码都设置成UTF8
4。对所用框架的调优
如spring的延迟加载。hibernate的二级缓存的应用。同时在server端缓存不经常变动的东西。或者页面等等。
1。OS调优。
做过一个试验。在windows2000 server和red hat2.6上架相同的服务。配置都设置成一样。硬件环境也差不多,跑相同的web应用。结果windows的测试结果很差强人意。看来不同的操作系统,还是很有大区别的,以后选择服务器的慎重啊。。呵呵
linux 服务器调优:
1. 考虑软件版本升级。出于以下两个原因:a 不同版本本身一些性能的差距。 b 调优内核参数而不得不升级。
2. 硬件升级。磁盘的读写速度,内存多少,百兆,千兆甚至光钎网卡的区别,都可能会使性能瓶颈。
2。web server调优
由于对于其他web server了解不是很多,故只说说tomcat的调优。
1。适当提高server.xml配置。关掉一些不用的功能。
2。适当提高jvm初始化参数。(当初针对我们的项目做过一些参测,不是越高越好)
3。适当选择不同厂家的JVM。(简单做过IBM JVM 和 Sun JVM的一些测试。发现IBM的速度要快一点,不过由于不太熟悉IBM JVM,并且项目是用Sun JVM开发的,最终选择了Sun JVM5.0------性能高于1.4很多)
4。当初为了测试,选择的load balance是apache。也做过一些调整。2.0以上版本的调优选项比低版本的多很多。注意各种工作模式在各个操作系统上性能的表现并不一致!不过我们实际环境最后上的是硬件load balance,呵呵
3。数据库调优
首先建议用好的数据库。不过如果客户没钱。那就没办法了。另外选择不同数据库,对某些需求实现繁简不同。比如对某些字段加密解密。
刚做过mysql的调优,简单说下:
1。慎重选择所用表类型。不同类型对事务,查询的支持不同。速度也相差很大。
2。针对支持事务型和非事务型做不同配置。
3。做国际化时最好把存储编码传送编码都设置成UTF8
4。对所用框架的调优
如spring的延迟加载。hibernate的二级缓存的应用。同时在server端缓存不经常变动的东西。或者页面等等。