Skip to content

Commit a5139e0

Browse files
committed
JMeter Perf comparison
Added JMeter performance test that compares REST API implemented using FOR JSON and REST API implemented using Entity Framework.
1 parent c5d64a8 commit a5139e0

File tree

1 file changed

+163
-0
lines changed

1 file changed

+163
-0
lines changed
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<jmeterTestPlan version="1.2" properties="3.1" jmeter="3.1 r1770033">
3+
<hashTree>
4+
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
5+
<stringProp name="TestPlan.comments"></stringProp>
6+
<boolProp name="TestPlan.functional_mode">false</boolProp>
7+
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
8+
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
9+
<collectionProp name="Arguments.arguments"/>
10+
</elementProp>
11+
<stringProp name="TestPlan.user_define_classpath"></stringProp>
12+
</TestPlan>
13+
<hashTree>
14+
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
15+
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
16+
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
17+
<boolProp name="LoopController.continue_forever">false</boolProp>
18+
<intProp name="LoopController.loops">-1</intProp>
19+
</elementProp>
20+
<stringProp name="ThreadGroup.num_threads">2</stringProp>
21+
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
22+
<longProp name="ThreadGroup.start_time">1486984219000</longProp>
23+
<longProp name="ThreadGroup.end_time">1486984219000</longProp>
24+
<boolProp name="ThreadGroup.scheduler">false</boolProp>
25+
<stringProp name="ThreadGroup.duration"></stringProp>
26+
<stringProp name="ThreadGroup.delay"></stringProp>
27+
</ThreadGroup>
28+
<hashTree>
29+
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="Product List" enabled="true">
30+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
31+
<collectionProp name="Arguments.arguments"/>
32+
</elementProp>
33+
<stringProp name="HTTPSampler.domain">localhost</stringProp>
34+
<stringProp name="HTTPSampler.port">5000</stringProp>
35+
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
36+
<stringProp name="HTTPSampler.response_timeout"></stringProp>
37+
<stringProp name="HTTPSampler.protocol"></stringProp>
38+
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
39+
<stringProp name="HTTPSampler.path"></stringProp>
40+
<stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
41+
<stringProp name="HTTPSampler.concurrentPool">6</stringProp>
42+
</ConfigTestElement>
43+
<hashTree/>
44+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="REST API Entity Framework" enabled="false">
45+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
46+
<collectionProp name="Arguments.arguments"/>
47+
</elementProp>
48+
<stringProp name="HTTPSampler.domain"></stringProp>
49+
<stringProp name="HTTPSampler.port"></stringProp>
50+
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
51+
<stringProp name="HTTPSampler.response_timeout"></stringProp>
52+
<stringProp name="HTTPSampler.protocol"></stringProp>
53+
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
54+
<stringProp name="HTTPSampler.path">/ProductCatalog/GetAll</stringProp>
55+
<stringProp name="HTTPSampler.method">GET</stringProp>
56+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
57+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
58+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
59+
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
60+
<boolProp name="HTTPSampler.monitor">false</boolProp>
61+
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
62+
</HTTPSamplerProxy>
63+
<hashTree/>
64+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="REST API FOR JSON" enabled="true">
65+
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
66+
<collectionProp name="Arguments.arguments"/>
67+
</elementProp>
68+
<stringProp name="HTTPSampler.domain"></stringProp>
69+
<stringProp name="HTTPSampler.port"></stringProp>
70+
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
71+
<stringProp name="HTTPSampler.response_timeout"></stringProp>
72+
<stringProp name="HTTPSampler.protocol"></stringProp>
73+
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
74+
<stringProp name="HTTPSampler.path">api/Product</stringProp>
75+
<stringProp name="HTTPSampler.method">GET</stringProp>
76+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
77+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
78+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
79+
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
80+
<boolProp name="HTTPSampler.monitor">false</boolProp>
81+
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
82+
</HTTPSamplerProxy>
83+
<hashTree/>
84+
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
85+
<boolProp name="ResultCollector.error_logging">false</boolProp>
86+
<objProp>
87+
<name>saveConfig</name>
88+
<value class="SampleSaveConfiguration">
89+
<time>true</time>
90+
<latency>true</latency>
91+
<timestamp>true</timestamp>
92+
<success>true</success>
93+
<label>true</label>
94+
<code>true</code>
95+
<message>true</message>
96+
<threadName>true</threadName>
97+
<dataType>true</dataType>
98+
<encoding>false</encoding>
99+
<assertions>true</assertions>
100+
<subresults>true</subresults>
101+
<responseData>false</responseData>
102+
<samplerData>false</samplerData>
103+
<xml>false</xml>
104+
<fieldNames>true</fieldNames>
105+
<responseHeaders>false</responseHeaders>
106+
<requestHeaders>false</requestHeaders>
107+
<responseDataOnError>false</responseDataOnError>
108+
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
109+
<assertionsResultsToSave>0</assertionsResultsToSave>
110+
<bytes>true</bytes>
111+
<sentBytes>true</sentBytes>
112+
<threadCounts>true</threadCounts>
113+
<idleTime>true</idleTime>
114+
<connectTime>true</connectTime>
115+
</value>
116+
</objProp>
117+
<stringProp name="filename"></stringProp>
118+
</ResultCollector>
119+
<hashTree/>
120+
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
121+
<boolProp name="ResultCollector.error_logging">false</boolProp>
122+
<objProp>
123+
<name>saveConfig</name>
124+
<value class="SampleSaveConfiguration">
125+
<time>true</time>
126+
<latency>true</latency>
127+
<timestamp>true</timestamp>
128+
<success>true</success>
129+
<label>true</label>
130+
<code>true</code>
131+
<message>true</message>
132+
<threadName>true</threadName>
133+
<dataType>true</dataType>
134+
<encoding>false</encoding>
135+
<assertions>true</assertions>
136+
<subresults>true</subresults>
137+
<responseData>false</responseData>
138+
<samplerData>false</samplerData>
139+
<xml>false</xml>
140+
<fieldNames>true</fieldNames>
141+
<responseHeaders>false</responseHeaders>
142+
<requestHeaders>false</requestHeaders>
143+
<responseDataOnError>false</responseDataOnError>
144+
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
145+
<assertionsResultsToSave>0</assertionsResultsToSave>
146+
<bytes>true</bytes>
147+
<sentBytes>true</sentBytes>
148+
<threadCounts>true</threadCounts>
149+
<idleTime>true</idleTime>
150+
<connectTime>true</connectTime>
151+
</value>
152+
</objProp>
153+
<stringProp name="filename"></stringProp>
154+
</ResultCollector>
155+
<hashTree/>
156+
</hashTree>
157+
</hashTree>
158+
<WorkBench guiclass="WorkBenchGui" testclass="WorkBench" testname="WorkBench" enabled="true">
159+
<boolProp name="WorkBench.save">true</boolProp>
160+
</WorkBench>
161+
<hashTree/>
162+
</hashTree>
163+
</jmeterTestPlan>

0 commit comments

Comments
 (0)