Skip to content

Commit

Permalink
Merge pull request MicrosoftDocs#16 from mspnp/elasticsearch
Browse files Browse the repository at this point in the history
Updating paths for Elasticsearch content
  • Loading branch information
bennage authored Mar 21, 2017
2 parents 64a7736 + b317ea7 commit 4d20e53
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
18 changes: 9 additions & 9 deletions docs/elasticsearch/automated-performance-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ The tests are run using JMeter. A JMeter master server loads a test plan and pas

The following test plans are provided:

* [elasticsearchautotestplan3nodes.jmx](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan3nodes.jmx). Runs the ingestion test over a 3-node cluster.
* [elasticsearchautotestplan6nodes.jmx](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan6nodes.jmx). Runs the ingestion test over a 6-node cluster.
* [elasticsearchautotestplan6qnodes.jmx](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan6qnodes.jmx). Runs the ingestion and query test over a 6-node cluster.
* [elasticsearchautotestplan6nodesqueryonly.jmx](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan6nodesqueryonly.jmx). Runs the query-only test over a 6-node cluster.
* [elasticsearchautotestplan3nodes.jmx](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan3nodes.jmx). Runs the ingestion test over a 3-node cluster.
* [elasticsearchautotestplan6nodes.jmx](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan6nodes.jmx). Runs the ingestion test over a 6-node cluster.
* [elasticsearchautotestplan6qnodes.jmx](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan6qnodes.jmx). Runs the ingestion and query test over a 6-node cluster.
* [elasticsearchautotestplan6nodesqueryonly.jmx](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/templates/elasticsearchautotestplan6nodesqueryonly.jmx). Runs the query-only test over a 6-node cluster.

You can use these test plans as a basis for your own scenarios if you need fewer or more nodes.

Expand All @@ -52,8 +52,8 @@ Before running the performance tests you should download, compile, and deploy th

There are two versions of the JUnit tests:

* [Elasticsearch1.73](https://github.com/mspnp/azure-guidance/tree/master/ingestion-and-query-tests/junitcode/elasticsearch1.73). Use this code for performing the ingestion tests. These tests use Elasticsearch 1.73.
* [Elasticsearch2](https://github.com/mspnp/azure-guidance/tree/master/ingestion-and-query-tests/junitcode/elasticsearch2). Use this code for performing the query tests. These tests use Elasticsearch 2.1 and later.
* [Elasticsearch1.73](https://github.com/mspnp/elasticsearch/tree/master/ingestion-and-query-tests/junitcode/elasticsearch1.73). Use this code for performing the ingestion tests. These tests use Elasticsearch 1.73.
* [Elasticsearch2](https://github.com/mspnp/elasticsearch/tree/master/ingestion-and-query-tests/junitcode/elasticsearch2). Use this code for performing the query tests. These tests use Elasticsearch 2.1 and later.

Copy the appropriate Java archive (JAR) file along with the rest of the dependencies to your JMeter machines. The process is described in [Deploying a JMeter JUnit sampler for testing Elasticsearch performance][Deploying a JMeter JUnit sampler for testing Elasticsearch performance].

Expand All @@ -71,7 +71,7 @@ Each test performs ingestion and/or queries against a single index specified whe
## Configuring the test script parameters
Copy the following test script parameter files to the JMeter server machine:

* [run.properties](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/run.properties). This file specifies the number of JMeter test threads to use, the duration of the test (in seconds), the IP address of a node (or a load balancer) in the Elasticsearch cluster, and the name of the cluster:
* [run.properties](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/run.properties). This file specifies the number of JMeter test threads to use, the duration of the test (in seconds), the IP address of a node (or a load balancer) in the Elasticsearch cluster, and the name of the cluster:

```ini
nthreads=3
Expand All @@ -81,7 +81,7 @@ Copy the following test script parameter files to the JMeter server machine:
```

Edit this file and specify the appropriate values for your test and cluster.
* [query-config-win.ini](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/query-config-win.ini) and [query-config-nix.ini](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/query-config-nix.ini). These two files contain the same information; the *win* file is formatted for Windows filenames and paths, and the *nix* file is formatted for Linux filenames and paths:
* [query-config-win.ini](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/query-config-win.ini) and [query-config-nix.ini](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/query-config-nix.ini). These two files contain the same information; the *win* file is formatted for Windows filenames and paths, and the *nix* file is formatted for Linux filenames and paths:

```ini
[DEFAULT]
Expand All @@ -99,7 +99,7 @@ Copy the following test script parameter files to the JMeter server machine:
Edit this file to specify the locations of the test results, the name of the JMeter test plan to run, the IP addresses of the Elasticsearch data nodes you are collecting performance metrics from, the reports containing the raw performance data that will be generated, and the name (or names comma delimited) of the index(es) under test, if more than one, tests will run one after another. If the run.properties file is located in a different folder or directory, specify the full path to this file.

## Running the tests
* Copy the file [query-test.py](https://github.com/mspnp/azure-guidance/blob/master/ingestion-and-query-tests/query-test.py) to the JMeter server machine, in the same folder as the run.properties and query-config-win.ini (query-config-nix.ini) files.
* Copy the file [query-test.py](https://github.com/mspnp/elasticsearch/blob/master/ingestion-and-query-tests/query-test.py) to the JMeter server machine, in the same folder as the run.properties and query-config-win.ini (query-config-nix.ini) files.
* Ensure that jmeter.bat (Windows) or jmeter.sh (Linux) are on the executable path for your environment.
* Run the query-test.py script from the command line to perform the tests:

Expand Down
2 changes: 1 addition & 1 deletion docs/elasticsearch/automated-resilience-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ On the JMeter master machine where you will run the tests, open a Git desktop wi
and clone the repository that contains the scripts, as follows:
```Shell
git clone https://github.com/mspnp/azure-guidance.git
git clone https://github.com/mspnp/elasticsearch.git
```
Move to the resiliency-tests folder and run the following command to install the dependencies required
Expand Down
2 changes: 1 addition & 1 deletion docs/elasticsearch/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,7 @@ guidance. [Creating a performance testing environment for Elasticsearch on Azure
[Node Discovery]: #node-discovery
[Query Tuning]: #query-tuning

[elasticsearch-scripts]: https://github.com/mspnp/azure-guidance/tree/master/scripts/ps
[elasticsearch-scripts]: https://github.com/mspnp/elasticsearch/tree/master/scripts/ps
[A Highly Available Cloud Storage Service with Strong Consistency]: http://blogs.msdn.com/b/windowsazurestorage/archive/2011/11/20/windows-azure-storage-a-highly-available-cloud-storage-service-with-strong-consistency.aspx
[Azure Cloud Plugin]: https://www.elastic.co/blog/azure-cloud-plugin-for-elasticsearch
[Azure Diagnostics with the Azure Portal]: https://azure.microsoft.com/blog/windows-azure-virtual-machine-monitoring-with-wad-extension/
Expand Down
8 changes: 4 additions & 4 deletions docs/elasticsearch/resilience-and-recovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ The following sections summarize the results of these tests, noting any degradat
## Node failure and restart with no data loss: results
<!-- TODO; reformat this pdf for display inline -->

The results of this test are shown in the file [ElasticsearchRecoveryScenario1.pdf](https://github.com/mspnp/azure-guidance/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario1.pdf). The graphs show performance profile of the workload and physical resources for each node in the cluster. The initial part of the graphs show the system running normally for approximately 20 minutes, at which point node 0 is shut down for 5 minutes before being restarted. The statistics for a further 20 minutes are illustrated; the system takes approximately 10 minutes to recover and stabilize. This is illustrated by the transaction rates and response times for the different workloads.
The results of this test are shown in the file [ElasticsearchRecoveryScenario1.pdf](https://github.com/mspnp/elasticsearch/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario1.pdf). The graphs show performance profile of the workload and physical resources for each node in the cluster. The initial part of the graphs show the system running normally for approximately 20 minutes, at which point node 0 is shut down for 5 minutes before being restarted. The statistics for a further 20 minutes are illustrated; the system takes approximately 10 minutes to recover and stabilize. This is illustrated by the transaction rates and response times for the different workloads.

Note the following points:

Expand All @@ -269,7 +269,7 @@ Note the following points:
## Node failure with catastrophic data loss: results
<!-- TODO; reformat this pdf for display inline -->

The results of this test are depicted in the file [ElasticsearchRecoveryScenario2.pdf](https://github.com/mspnp/azure-guidance/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario2.pdf). As with the first test, the initial part of the graphs shows the system running normally for approximately 20 minutes, at which point node 0 is shut down for 5 minutes. During this interval, the Elasticsearch data on this node is removed, simulating catastrophic data loss, before being restarted. Full recovery appears to take 12-15 minutes before the levels of performance seen before the test are restored.
The results of this test are depicted in the file [ElasticsearchRecoveryScenario2.pdf](https://github.com/mspnp/elasticsearch/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario2.pdf). As with the first test, the initial part of the graphs shows the system running normally for approximately 20 minutes, at which point node 0 is shut down for 5 minutes. During this interval, the Elasticsearch data on this node is removed, simulating catastrophic data loss, before being restarted. Full recovery appears to take 12-15 minutes before the levels of performance seen before the test are restored.

Note the following points:

Expand All @@ -283,7 +283,7 @@ Note the following points:
## Node failure and restart with shard reallocation: results
<!-- TODO; reformat this pdf for display inline -->

The file [ElasticsearchRecoveryScenario3.pdf](https://github.com/mspnp/azure-guidance/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario3.pdf) illustrates the results of this test. As with the first test, the initial part of the graphs show the system running normally for approximately 20 minutes, at which point node 0 is shut down for 5 minutes. At this point, the Elasticsearch cluster attempts to recreate the missing shards and rebalance the shards across the remaining nodes. After 5 minutes node 0 is brought back online, and once again the cluster has to rebalance the shards. Performance is restored after 12-15 minutes.
The file [ElasticsearchRecoveryScenario3.pdf](https://github.com/mspnp/elasticsearch/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario3.pdf) illustrates the results of this test. As with the first test, the initial part of the graphs show the system running normally for approximately 20 minutes, at which point node 0 is shut down for 5 minutes. At this point, the Elasticsearch cluster attempts to recreate the missing shards and rebalance the shards across the remaining nodes. After 5 minutes node 0 is brought back online, and once again the cluster has to rebalance the shards. Performance is restored after 12-15 minutes.

Note the following points:

Expand All @@ -295,7 +295,7 @@ Note the following points:
## Rolling updates: results
<!-- TODO; reformat this pdf for display inline -->

The results of this test, in the file [ElasticsearchRecoveryScenario4.pdf](https://github.com/mspnp/azure-guidance/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario4.pdf), show how each node is taken offline and then brought back up again in succession. Each node is shut down for 5 minutes before being restarted at which point the next node in sequence is stopped.
The results of this test, in the file [ElasticsearchRecoveryScenario4.pdf](https://github.com/mspnp/elasticsearch/blob/master/figures/Elasticsearch/ElasticSearchRecoveryScenario4.pdf), show how each node is taken offline and then brought back up again in succession. Each node is shut down for 5 minutes before being restarted at which point the next node in sequence is stopped.

Note the following points:

Expand Down

0 comments on commit 4d20e53

Please sign in to comment.