Pages (41) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Next »

如何提高tomcat的并发能力

1、Apache + Tomcat 结合起来用Apache 负责静态页面,Tomcat负责动态页面,同时减少connectionTimeout的时间,以应对并发量大线程回收来不及的情况。

2、压力过大的问题,可以做负载均衡,一个TOMCAT无论如何也不可能担当如此多的线程负载,而且JVM过大,其内存管理成本将显著加大。2G的内存,做3-4个TOMCAT实例(512RAM*4),更为科学合理。

3、数据库连接池,不少人,都推荐使用C3P0,能提高访问数据库的并发性能好几倍。

4、采用Tomcat集群可以最大程度的发挥服务器的性能,可以在配置较高的服务器上部署多个Tomcat,也可以在多台服务器上分别部署Tomcat,Apache和Tomcat整合的方式还是JK方式。经过验证,系统对大用户量使用的响应方面,Apache+3Tomccat集群> Apache+2Tomcat集群 > Apache集成Tomcat > 单个Tomcat。并且采用Apache+多Tomcat集群的部署方式时,如果一个Tomcat出现宕机,系统可以继续使用,所以在硬件系统性能足够优越的情况下,需要尽量发挥软件的性能,可以采用增加Tomcat集群的方式。

5.1. 设置MPM(Multi Processing Modules多道处理模块)。ThreadPerChild,这个参数用于设置每个进程的线程数,在Windows环境下默认值是64,最大值是1920,建议设置为100-500之间,服务器性能高的话值大一些,反之小一些。MaxRequestPerChild表示每个子进程能够处理的最大请求数。这个参数的值更大程度上取决于服务器的内存,如果内存比较大的话可以设置为很大的参数,否则设置一个较小的值,建议值是3000.

5.2. 关闭DNS和名字解析  HostnameLookups off

5.3. 打开UseCanonicalName模块 UseCanonicalName on

5.4. 关闭多余模块 一般来说,不需要加载的模块有,mod_include.so、mod_autoindex.so、mod_access.so、mod_auth.so.

5.5. 打开KeepAlive支持 

KeepAlive on, KeepAliveTimeout 15 MaxKeepAliveRequests 1000

根据实际经验,通过Apache和Tomcat集群的方式提高系统性能的效果十分明显,这种方式可以最大化的利用硬件资源,通过多个Tomcat的处理来分担单Tomcat时的压力。

web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。

DIV+CSS之清除浮动总结

当元素有浮动属性时,会对其父元素或后面的元素产生影响,会出现一个布局错乱的现象,可以通过清除浮动的方法来解决浮动的影响。

浮动的清理(clear):

值:

none:默认值。允许两边都可以有浮动对象;

left:不允许左边有浮动对象;

right:不允许右边有浮动对象;

both:左右两侧不允许有浮动对象。

清除浮动的方法:

第一种:额外标签法

这种方法应该是最简单的一种了,w3c建议在容器的末尾增加一个“clear:both"的元素

强迫容器适应它的高度以便装下所有的float元素。

<div id="main">

  <div id="left"></div>

  <div id="right"></div>

  <div class="clear"></div>

</div>

<div id="footer"></div>

.clear{clear:both;}

第二种:父元素添加overflow:hidden;

注:如果子元素使用了定位布局,就会很难实现。

第三种:利用伪对象after方法

定义一个类,使用伪对象after,控制浮动元素的影响。网上最流行的清除浮动代码:

.clearFix:after{

clear:both;

display:block;

visibility:hidden;

height:0;

line-height:0;

content:'';

}

.clearFix{zoom:1;} /*解决ie6/7兼容问题*/

css溢出的使用

设置对象的内容超过其指定高度及宽度时,如何管理内容。

overflow:visible【默认值,不剪切内容也不添加滚动条】

auto【在必需时,对象内容才会被剪切或添加滚动条】

hidden【不显示超过对象尺寸的内容】

scroll【总是显示滚动条】

zoom属性:只有ie内核的浏览器支持,缩放比例。

设置或检索对象的缩放比例。

语法:normal【默认值,使用对象的实际尺寸】;number【百分数|无符号浮点实数。浮点实数

为1.0或百分数为100%时相当于此属性的normal值

zoom:1解决ie6高度自适应问题。

每天进步一点点。

log4j2 使用详解

log4j升级了,新架构很不错,将安装步骤记录如下:

1、Log4j2的导入

首先到http://logging.apache.org/log4j/2.x/download.html 上下载最新的log4j2的jar包,然后再eclipse中加入log4j-api-2.0-beta2.jar和log4j-core-2.0-beta2.jar,需要注意的是不要将所有jar都导入工程造成不必要的混乱。

2、测试用例

log4j 2.0的使用非常简单,只要用LogManager的getLogger函数获取一个logger,就可以使用logger记录日志,代码如下:

import org.apache.logging.log4j.LogManager;

import org.apache.logging.log4j.Logger;

public class HelloLog4j {

private static Logger logger = LogManager.getLogger("HelloLog4j");

public static void main(String[] args) {

 MyApplication myApplication = new MyApplication();

 logger.entry();

 logger.info("Hello, World!");

 myApplication.doIt();

    logger.error("Hello, World!");

    logger.exit();

}

}


Pages (41) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Next »