學(xué)習(xí)筆記
- TPS QPS
一、TPS:Transactions Per Second(每秒傳輸?shù)氖挛锾幚韨€數(shù)),即服務(wù)器每秒處理的事務(wù)數(shù)。TPS包括一條消息入和一條消息出,加上一次用戶數(shù)據(jù)庫訪問。(業(yè)務(wù)TPS = CAPS × 每個呼叫平均TPS)
TPS是軟件測試結(jié)果的測量單位。一個事務(wù)是指一個客戶機向服務(wù)器發(fā)送請求然后服務(wù)器做出反應(yīng)的過程。客戶機在發(fā)送請求時開始計時,收到服務(wù)器響應(yīng)后結(jié)束計時,以此來計算使用的時間和完成的事務(wù)個數(shù)。
一般的,評價系統(tǒng)性能均以每秒鐘完成的技術(shù)交易的數(shù)量來衡量。系統(tǒng)整體處理能力取決于處理能力最低模塊的TPS值。
二、QPS:每秒查詢率QPS是對一個特定的查詢服務(wù)器在規(guī)定時間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn),在因特網(wǎng)上,作為域名系統(tǒng)服務(wù)器的機器的性能經(jīng)常用每秒查詢率來衡量。
對應(yīng)fetches/sec,即每秒的響應(yīng)請求數(shù),也即是最大吞吐能力。
- 使用MethodInterceptor實現(xiàn)AOP
- 定義接口
public interface Interface {
public void hello();
}
-
兩個實現(xiàn)
第一個實現(xiàn)
public class InterfaceImpl implements Interface {
/**
* @see com.alipay.aop.BusinessInterface#hello()
*/
@Override
public void hello() {
System.out.println("AOP TEST!!");
}
}
第二個實現(xiàn)
public class InterfaceImplTest implements Interface {
/**
* @see aop.Interface#hello()
*/
@Override
public void hello() {
System.out.println("helo world!!");
}
}
- 實現(xiàn)自己的代理類,創(chuàng)建自己的interceptor
public class MyInterceptor implements MethodInterceptor {
/**
* @see org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept.MethodInvocation)
*/
@Override
public Object invoke(MethodInvocation methodInvocation) throws Throwable {
String info = methodInvocation.getMethod().getDeclaringClass()+ "." +
methodInvocation.getMethod().getName() + "()";
System.out.println(info);
try{
Object result = methodInvocation.proceed();
return result;
}
finally{
System.out.println(info);
}
}
}
- 定義Spring配置文件
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:sofa="http://img.alipay.net/dtd/schema/service"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:webflow="http://www.springframework.org/schema/webflow-config"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://img.alipay.net/dtd/schema/service http://img.alipay.net/dtd/schema/service/sofa-service.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/webflow-config http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd"
default-autowire="byName">
<bean id="beanTarget" class="aop.InterfaceImpl"/>
<bean id="hello" class="aop.InterfaceImplTest" />
<bean id="myInterceptor" class="aop.MyInterceptor"/>
<bean id="bean" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>aop.Interface</value>
</property>
<property name="interceptorNames">
<list>
<value>myInterceptor</value>
<value>beanTarget</value>
</list>
</property>
</bean>
<bean id="testBean" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>aop.Interface</value>
</property>
<property name="interceptorNames">
<list>
<value>myInterceptor</value>
<value>hello</value>
</list>
</property>
</bean>
</beans>
- AOP學(xué)習(xí)
- AspectJ的概念
Aspect:代表著