Sajo
2021 年7 月 13 日 08:19
1
nebula 版本:v2-nightly
部署方式:k8s
是否为线上版本:Y
跟据 nebula-bench 文档的指引,完成了数据导入
然后配置了 jmx 但无法正常完成测试 看日志貌似是少了 com.vesoft.LdbcGoStep
这个包 但是我对 java 不了解,目前环境中仅安装了 jdk 请问该如何导入这个包进行测试
下附错误日志和 go_step.jmx
2021-07-13 15:56:45,499 ERROR o.a.j.p.j.s.JavaSampler: StandardJMeterEngine@4c6daf0-Java Request Exception initialising:
java.lang.ClassNotFoundException: com.vesoft.LdbcGoStep
at java.net.URLClassLoader.findClass(URLClassLoader.java:471) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:398) ~[?:?]
at org.apache.jmeter.protocol.java.sampler.JavaSampler.initClass(JavaSampler.java:121) [ApacheJMeter_java.jar:5.4.1]
at org.apache.jmeter.protocol.java.sampler.JavaSampler.testStarted(JavaSampler.java:270) [ApacheJMeter_java.jar:5.4.1]
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:205) [ApacheJMeter_core.jar:5.4.1]
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:382) [ApacheJMeter_core.jar:5.4.1]
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" 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="Thread Group" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">stoptestnow</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">-1</stringProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">{nums}</stringProp>
<stringProp name="ThreadGroup.ramp_time">0</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">{duration}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>
<hashTree>
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java Request" enabled="true">
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="hosts" elementType="Argument">
<stringProp name="Argument.name">hosts</stringProp>
<stringProp name="Argument.value">{7.53.19.56:9669}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="maxconn" elementType="Argument">
<stringProp name="Argument.name">maxconn</stringProp>
<stringProp name="Argument.value">100</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="user" elementType="Argument">
<stringProp name="Argument.name">user</stringProp>
<stringProp name="Argument.value">root</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="pwd" elementType="Argument">
<stringProp name="Argument.name">pwd</stringProp>
<stringProp name="Argument.value">nebula</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="var2" elementType="Argument">
<stringProp name="Argument.name">space</stringProp>
<stringProp name="Argument.value">bench</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="person" elementType="Argument">
<stringProp name="Argument.name">person</stringProp>
<stringProp name="Argument.value">${person}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="nGQL" elementType="Argument">
<stringProp name="Argument.name">nGQL</stringProp>
<stringProp name="Argument.value">GO 3 STEP FROM "replace" OVER knows</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="classname">com.vesoft.LdbcGoStep</stringProp>
</JavaSampler>
<hashTree>
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Data Set Config" enabled="true">
<stringProp name="delimiter">|</stringProp>
<stringProp name="fileEncoding"></stringProp>
<stringProp name="filename">/home/luosanjun/nebula-bench/target/data/test_data/social_network/dynamic/person.csv</stringProp>
<boolProp name="ignoreFirstLine">false</boolProp>
<boolProp name="quotedData">false</boolProp>
<boolProp name="recycle">true</boolProp>
<stringProp name="shareMode">shareMode.all</stringProp>
<boolProp name="stopThread">false</boolProp>
<stringProp name="variableNames">var1,person,var3,var4,var5,var6,var7,var8</stringProp>
</CSVDataSet>`
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
Sajo
2021 年7 月 13 日 09:28
3
直接用 release 中的二进制 配置文件参考仓库中 example 下的 js 仅修改了 graphd 地址 person.csv 在 js 同一目录下
看起来无事发生
什么意思,这个是你没有设置 vu 和 duration,默认只跑了一次 query。
命令行加一下参数就可以跑跑试试了。比如
./k6 run nebula-test.js -vu 3 -d 30s
1 个赞
Sajo
2021 年7 月 14 日 08:52
5
目前测试完全可用了,但是 nebula-bench 使用的数据集是只有 ldbc 中的 person 吗?
数据集是 LDBC 的 social_network,导入到 nebula 也是所有的点和边,你可以 show tags 和 show edges 查看。
不过自动化压测现在没有很多场景,你可以自己用 k6 压一下。
system
关闭
2021 年7 月 21 日 09:06
7
该话题在最后一个回复创建后7天后自动关闭。不再允许新的回复。