Performance

[Rod Johnson] 做一个vertical slice,在开发周期内就做好性能测试

也就是在当前所有的功能模块中做一下“切片”,切出来的片可以典型地代表系统的性能,如果这个切片能通过测试,那就可以认为系统性能可以满足要求。 那么怎么样决定哪个功能属于切片呢?"Often the vertical slice will implement some of the functionality that we suspect will have the worst performance in the application and some of the functionality that will be most heavily used in production"

Alternatives to LoadRunner

1. [Recommended]Web Application Stress (WAS) Tool( http://webtool.rte.microsoft.com/). 2. Apache JMeter (available at http://jakarta.apache.org/jmeter/index.html) 3.Grinder

Java Profiling Tools

1. JVM Profiling Option "starting a Sun Java 1.3 JVM with the following arguments will cause it to dump profile output when it quits:   -Xrunhprof:cpu=samples,thread=y" 2. JProbe

单元性能测试?

Rod Johnson 说load测试未必要针对整个Application才能做,我们也可以针对单个业务对象来测。具体该怎么玩我还没玩,这里先记录一些工具名:     1.Grinder     2.Rod自己写的一个无界面的工具包:com.interface21.load

web服务器的并发数

从web服务器的角度说,当前的并发数就是 当前这个瞬间,我们的应用使用了多少tcp连接提供服务 apache httpd的mod_status模块可以查看这个值 那什么叫服务器的最大并发数呢?  linux默认可以建立1024个socket,是不是最大并发数就是1024呢?  这里要考虑一下web应用的健康状态。如果web应用在500连接时就已经慢得像蜗牛,或者频繁给http500错误,那并发500又有什么意义?  最大并发数应该是指 应用的功能和性能满足需求的前提下,所允许最大连接数。

apache + tomcat + jk或其他

基本可看的资料: http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html http://www.javazy.com/contentex/200641293233.shtml 进一步调整: http://internet.blog.enorth.com.cn/article/252340.shtml http://tomcat.apache.org/connectors-doc/reference/workers.html 还有: http://www.iteye.com/topic/53610  用mod_proxy更好 http://neptune.iteye.com/blog/146591  window下apache配置

思考时间要设吗?

概括自牛书《软件性能测试-段念》    对于交互式系统,为了模拟真实业务,应该设一个思考时间    对于非交互式系统,为了找出系统的最大吞吐量和可承受的最大压力,可以不设思考时间

双机热备的实现模式 - 基于共享存储与纯软件方式 [转自ha999]

http://www.ha999.com/ha/hasolution.htm 双机热备的实现模式 - 基于共享存储与纯软件方式  双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。   基于存储共享的双机热备是双机热备的最标准方案。  对于这种方式,采用两台(或多台,参见:双机与集群的异同)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。  (典型的双机热备产品,参见:LanderCluster集群软件)  对于纯软件的方式,则是通过支持镜像的双机软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。  对于这种方式的深入分析,请参见:纯软件方式的双机热备方案深入分析  纯软件方式还有另外一种情况,即服务器只是提供应用服务,而并不保存数据(比如只进行某些计算,做为应用服务器使用)。这种情况下同样也不需要使用共享的存储设备,而可以直接使用双机或集群软件即可。但这种情况其实与镜像无关,只不过是标准的双机热备的一种小的变化。