MBeans search demo

Using MBeans to evaluate performance for search demo.

Use MBeans to evaluate performance for the search demo.

Prerequisites

Use MBeans to obtain information about performance on a DSE Search node.

Procedure

  1. Change to the demos directory.
    The default location of the demos directory depends on the type of installation:
    • Package installations: /usr/share/dse/demos
    • Tarball installations: installation_location/demos
  2. Make demos/solr_stress your current directory.
  3. Execute this script to create the schema:
    pushd resources/schema &&
     ./create-schema.sh
    where the script options are:
    CQL table creation options
    --ssl use SSL for 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 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
    The script then creates the search index by posting to the following location:
    • http://localhost:8983/solr/admin/cores?action=CREATE&name=demo.solr
    You can override the script defaults by specifying command line parameters:
    -x schemafile.xml -t tableCreationFile.cql -r solrCofgFile.xml -k solrCore
  4. Execute this script to run the benchmark:
    ./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]
    where the script options are:
    --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
    Search index 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 Search index 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.

  5. In JConsole, expand com.datastax.bdp > search > demo.solr to view the MBeans.
    The CommitMetrics and QueryMetrics MBeans are present.
  6. 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:
    The JConsole CommitMetrics getLatencyPercentile operation return value.