Comments (5)
Refer to the Performance Testing Document.
And there is also the latest result:
from txle.
And the latest result will be updated later.
from txle.
We updated the Performance Testing Document.
from txle.
Can you show me the jmeter scripts? I cannot tell what kind of invocation are you send to the alpha server.
Did you simulate the saga rollback scenario?
并发为1250是, 在平均耗时降低一个数量级的时候,总耗时还增加了一个数量级, 让我感觉小数点发生的漂移。
于是我做了一个简单的计算,看了一下吞吐率变化不大,假设测量计算没有问题, 那在事务处理量总数不变的情况,并发数越大,总耗时时间越少, 但是这和测量结果不一致。 于是我假设了你们测试是一个并发跑100000个事务, 总事务 = 吞吐* 耗时 = 并发数 * 事务量, 结果发现计算结果发现差了两个数量级,这不由让我怀疑起来这个性能测试的真实性。
from txle.
@WillemJiang
是我的失误导致1250-2000并发的平均耗时和总耗时的数据填反了,现在已更新。感谢你的指正~
以下是我用的jmeter script,使用5台虚拟机采用jmeter分布式的方式制造压力。
每次测试的总事务数为100000
业务端的逻辑,你可以在demo: https://github.com/actiontech/txle/tree/master/examples/sample-txle-springboot 中找到
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.1.1 r1855137">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="TXLE_long_hp" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="TestPlan.user_define_classpath"></stringProp>
</TestPlan>
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="HIGH_PERFORMANCE" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<stringProp name="LoopController.loops">50</stringProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">400</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp name="ThreadGroup.duration">200</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
</ThreadGroup>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HIGH_PERFORMANCE" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">10.186.18.127</stringProp>
<stringProp name="HTTPSampler.port">8000</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/highPerformance</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
from txle.
Related Issues (20)
- [Improve][Compensable][compensationMethod]set the value of compensationMethod to empty, the alpha-server throw exception when triggering compensation HOT 2
- [risk][Compensable][retries]When the set retries value is less than -1, there is a risk of overflow HOT 2
- [time]time is not synchronized,cause timeout doesn't work HOT 2
- [Compensable][retries]The number of executions of the retries is less than the number of times which the retries is set HOT 2
- [AutoCompensable]The sub-transaction adds the @AutoCompensable. When the application throw exception,the alpha server logs an error. HOT 2
- [issue][rollback][concurrent]TXLE cannot roll back all timeout transactions HOT 2
- [issue][rollback][concurrent]TXLE cannot roll back all AutoCompensable transactions HOT 2
- [issue][txle][restart]when txle is stopped, restart txle but it doesn't work HOT 2
- [feature]provide a way to show the version of the TXLE server HOT 2
- [issue][downgraded][AccidentReport]after the system is downgraded, the accident report still work fine. HOT 2
- [issue][Compensable/AutoCompensable][timeout]When a sub-transaction times out and throws an exception, the sub-transaction is rolled back more times HOT 2
- [issue][Compensable][timeout][concurrent]timeout rollback sometimes rolls back more times HOT 2
- [SQL]When TxEvent has a large number of records (200 million+), TXLE has a very slow query(10min+)
- [issue][alpha-server clustering]stop leader alpha-server, cause the global transaction failed HOT 2
- [issue][AutoCompensable]the parameter `retries` doesn't work HOT 1
- Please don't change the copyright if you didn't do anything on the code HOT 8
- [issue][Compensable][timeout]the transaction is timeout and trigger Compensable, but the global service response is 200 OK HOT 2
- [issue][AutoCompensable]the AutoCompensable can not roll back multi sql update one record in the same sub-service HOT 2
- [issue][Compensable][timeout]global service set timeout,when all sub-services are complete and global service timeout, the result is unstable
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from txle.