Using MBeans to evaluate performance
Example steps to use the MBeans on Linux to obtain information about performance while running the DataStax Solr stress test demo.
Example steps to use the MBeans on Linux to obtain information about performance while running the DataStax Solr stress test demo.
Procedure
- Start a single DSE Search node.
-
Start JConsole using the PID of the DSE Search node:
sudo jconsole 1284
- In JConsole, connect to a DSE Search node. For example, connect to the Local Process com.datastax.bdp.DseModule.
-
Change to the demos directory.
The default location of the demos directory depends on the type of installation:
Installer-Services and Package installations /usr/share/dse/demos Installer-No Services and Tarball installations install_location/demos - Make demos/solr_stress your current directory.
-
Execute this script to create the schema:
where the script options are:./1-add-schema.sh [options]
- CQL table creation options
--ssl
use SSL for Cassandra table creation over cqlsh- Solr HTTP options
-e CA_CERT_FILE
use HTTPS with the provided CA certificate-E CLIENT_CERT_FILE
use the provided client certificate-h HOST
hostname or IP for Solr HTTP requests-a
enable Kerberos-u USERNAME
Kerberos username-p PASSWORD
Kerberos password
The script creates the Cassandra schema and posts the solrconfig.xml and schema.xml files to these locations:- http://localhost:8983/solr/resource/demo.solr/solrconfig.xml
- http://localhost:8983/solr/resource/demo.solr/schema.xml
- http://localhost:8983/solr/admin/cores?action=CREATE&name=demo.solr
-x schemafile.xml -t tableCreationFile.cql -r solrCofgFile.xml -k solrCore
-
Execute this script to run the benchmark:
where the script options are:./run-benchmark.sh [--clients=clients_count] [--loops=loops_count] [--fetch=fetch_size] [--solrCore=solr_core] [--testData=test_data_file] [--url=url1,url2,url3,...] [--qps=qps] [--stats=true|false] [--seed=seed_value]
- --clients
- The number of client threads to create.
- Default: 1
- --loops
- The number of times the commands list gets executed if running sequentially or the number of commands to run if running randomly.
- Default: 1
- --fetch
- Fetch size for CQL pagination (disabled by default). Only the first page is retrieved.
- --solrCore
- Solr core name to run the benchmark against.
- --testData
- Name of the file that contains the test data.
- --seed
- Value to set the random generator seed to.
- --qps
- Maximum number of queries per second allowed.
- --stats
- Specifies whether to gather statics during runtime and create a csv file with the recorded values.
- Default: false
- --url
- A comma delimited list of servers to run the benchmark against. For
example:
--url=http://localhost:8983,http://192.168.10.45:8983,http://192.168.10.46:8983
- Default: http://localhost:8983
The demo creates a Solr core named demo.solr and indexes 50,000 documents.Example CQL commands:./run-benchmark.sh --url=http://localhost:8983 --testData=resources/testCqlQuery.txt --solrCore=demo.solr
./run-benchmark.sh --url=http://localhost:8983 --testData=resources/testCqlWrite.txt --solrCore=demo.solr
See /demos/solr_stress/README.txt for execution modes and sample script commands.
-
In JConsole, expand com.datastax.bdp > search > demo.solr to view the MBeans.
The CommitMetrics and QueryMetrics MBeans are present.
-
In JConsole, in Search > demo.solr > CommitMetrics > Operations > getLatencyPercentile, type EXECUTE in the
p0 text entry box and 0.95 in the
p1 text entry box. Click the
getLatencyPercentile button.
The Operation return value, 582 microseconds, appears: