Skip to content

Commit

Permalink
Add NYC taxis track to nightly benchmarks
Browse files Browse the repository at this point in the history
With this commit we add the NYC taxis track to the nightly
benchmark suite. The benchmark will be run and also all reports
are generated but the page is not yet added to the main menu so
we have a chance to review the results first before making them
really public.

Relates elastic#2
  • Loading branch information
danielmitterdorfer committed Sep 22, 2016
1 parent 45bee33 commit 33405af
Show file tree
Hide file tree
Showing 11 changed files with 289 additions and 1 deletion.
6 changes: 6 additions & 0 deletions external/pages/nyc_taxis/disk_usage_annotations.json
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
6 changes: 6 additions & 0 deletions external/pages/nyc_taxis/gc_times_annotations.json
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
229 changes: 229 additions & 0 deletions external/pages/nyc_taxis/index.html
@@ -0,0 +1,229 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../assets/favicon.ico">

<title>Elasticsearch Nightly Benchmarks</title>

<!-- Bootstrap core CSS -->
<link href="../assets/css/Supernice.css" rel="stylesheet">

<!-- Custom styles for this template -->
<link href="../assets/css/navbar-fixed-top.css" rel="stylesheet">
<link href="../assets/css/charts.css" rel="stylesheet">

<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>

<script type="text/javascript">
var charts = {
init: function() {
var annotationSource = false;

charts.indexingThroughput = chartingLib.renderChart('indexing_throughput', 'Indexing throughput', 'Mean Throughput [docs/s]', 'indexing_throughput_annotations.json');
charts.totalTimes = chartingLib.renderChart('indexing_total_times', 'Total times', 'Time [min]', annotationSource);
charts.segmentMemory = chartingLib.renderChart('segment_total_memory', 'Segment total heap used', 'Heap used [MB]', annotationSource);
charts.cpuUsage = chartingLib.renderChart('indexing_cpu_usage', 'Indexing CPU usage', 'CPU usage [%]', 'indexing_cpu_usage_annotations.json')
charts.diskUsage = chartingLib.renderChart('disk_usage', 'Index disk usage', '[GB]', annotationSource),
charts.segmentCounts = chartingLib.renderChart('segment_counts', 'Index segment counts', 'Segment count', 'segment_counts_annotations.json'),
charts.queryLatency = chartingLib.renderChart('search_latency_queries', 'Search Latency', '99th Percentile Latency [ms]', 'search_latency_queries_annotations.json'),
charts.statsLatency = chartingLib.renderChart('search_latency_stats', 'Stats Latency', '99th Percentile Latency [ms]', 'search_latency_stats_annotations.json'),
charts.gcTimes = chartingLib.renderChart('gc_times', 'GC times', 'Total GC runtime [s]', 'gc_times_annotations.json')

chartingLib.synchronize([
charts.indexingThroughput,
charts.totalTimes,
charts.segmentMemory,
charts.cpuUsage,
charts.diskUsage,
charts.segmentCounts,
charts.queryLatency,
charts.statsLatency,
charts.gcTimes
]);
}
}
</script>
</head>

<body>

<!-- Fixed navbar -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">Elasticsearch Nightly Benchmarks</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="../geonames/index.html">Geonames</a></li>
<li><a href="../geopoint/index.html">Geopoint</a></li>
<li><a href="../percolator/index.html">Percolator</a></li>
<li><a href="../pmc/index.html">PMC</a></li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">NYC Taxis <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#indexing_throughput">Indexing Throughput</a></li>
<li><a href="#indexing_total_times">Total times</a></li>
<li><a href="#segment_total_memory">Segment total heap used</a></li>
<li><a href="#indexing_cpu_usage">Indexing CPU usage</a></li>
<li><a href="#disk_usage">Index disk usage</a></li>
<li><a href="#segment_counts">Index segment counts</a></li>
<li><a href="#search_latency_queries">Search Latency</a></li>
<li><a href="#search_latency_stats">Stats Latency</a></li>
<li><a href="#gc_times">GC times</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>

<div class="container">
<div class="row">
<div class="col-md-12">
<h3>Overview</h3>
<p>The NYC taxi data set contains the rides that have been performed in yellow taxis in New York in 2015 and have been provided by the <a href="http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml">NYC Taxi and Limousine Commission</a>. We use it to evaluate the performance of Elasticsearch for structured data. We run the following variation (which we call "challenge" in Rally):</p>
<ul>
<li><strong>Append</strong>: Indexes the whole document corpus using Elasticsearch default settings. We only adjust the number of replicas as we benchmark a single node cluster and Rally will only start the benchmark if the cluster turns green. Document ids are unique so all index operations are append only. After that a couple of queries are run in parallel by multiple clients.</li>
</ul>
<p>The benchmarks are run either for an out of the box configuration of Elasticsearch but with a larger heap of 4GB. For more details please refer to the <a href="https://github.com/elastic/rally-tracks/blob/master/nyc_taxis/track.json">NYC taxis track specification</a> and have a look at our <a href="../index.html">benchmarking methodology</a>).</p>
</div>
</div>

<div class="row">
<div class="col-md-6">
<h3>Results</h3>
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Hint</strong> Click and drag to zoom. Double-click to zoom out.
</div>
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Hint</strong> Click a data point to see the diff between it and the previous race.
</div>
</div>
</div>

<div class="row">
<!-- weird, dygraph needs label div *before* the graph in the DOM, otherwise it will not work -->
<div class="col-md-2 col-md-push-10">
<div id="chart_indexing_throughput_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="indexing_throughput" id="indexing_throughput"></a>
<div id="chart_indexing_throughput" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_indexing_total_times_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="indexing_total_times" id="indexing_total_times"></a>
<div id="chart_indexing_total_times" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_segment_total_memory_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="segment_total_memory" id="segment_total_memory"></a>
<div id="chart_segment_total_memory" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_indexing_cpu_usage_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="indexing_cpu_usage" id="indexing_cpu_usage"></a>
<div id="chart_indexing_cpu_usage" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_disk_usage_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="disk_usage" id="disk_usage"></a>
<div id="chart_disk_usage" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_segment_counts_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="segment_counts" id="segment_counts"></a>
<div id="chart_segment_counts" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_search_latency_queries_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="search_latency_queries" id="search_latency_queries"></a>
<div id="chart_search_latency_queries" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_search_latency_stats_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="search_latency_stats" id="search_latency_stats"></a>
<div id="chart_search_latency_stats" class="benchmark-chart"></div>
</div>
</div>

<div class="row">
<div class="col-md-2 col-md-push-10">
<div id="chart_gc_times_labels"></div>
</div>
<div class="col-md-10 col-md-pull-2">
<a name="gc_times" id="gc_times"></a>
<div id="chart_gc_times" class="benchmark-chart"></div>
</div>
</div>

</div> <!-- /container -->


<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="../assets/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../assets/js/dygraph-combined.js"></script>
<script type="text/javascript" src="../assets/js/synchronizer.js"></script>
<script type="text/javascript" src="../assets/js/charts.js"></script>
<script>
$(document).ready(charts.init);
</script>
</body>
</html>
6 changes: 6 additions & 0 deletions external/pages/nyc_taxis/indexing_cpu_usage_annotations.json
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
6 changes: 6 additions & 0 deletions external/pages/nyc_taxis/indexing_throughput_annotations.json
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
6 changes: 6 additions & 0 deletions external/pages/nyc_taxis/segment_counts_annotations.json
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
@@ -0,0 +1,6 @@
[{
"series": "Append / default settings",
"x": "2000-01-01 00:00:00",
"shortText": "A",
"text": "Template for an annotation"
}]
7 changes: 6 additions & 1 deletion night_rally.py
Expand Up @@ -41,12 +41,17 @@
["append-no-conflicts-index-only", "two_nodes"]
]

tracks["nyc_taxis"] = [
["append-no-conflicts", "4gheap"]
]

# default challenge / car per track
defaults = {
"geonames": ("append-no-conflicts", "defaults"),
"percolator": ("append-no-conflicts", "4gheap"),
"geopoint": ("append-no-conflicts", "defaults"),
"pmc": ("append-no-conflicts", "4gheap")
"pmc": ("append-no-conflicts", "4gheap"),
"nyc_taxis": ("append-no-conflicts", "4gheap")
}

config = {
Expand Down

0 comments on commit 33405af

Please sign in to comment.