From d07d511a9fb71df5adf39d87b32e636269ad4927 Mon Sep 17 00:00:00 2001 From: Evann Regnault Date: Fri, 31 May 2024 15:53:07 +0200 Subject: [PATCH] [Added multishard elastic + Plots] --- .gitignore | 3 +- drivers/elastic.py | 12 +- drivers/elastic4.py | 215 +++++++++++++++++++++++++++++ interfaces/db_testing_interface.py | 8 +- main.py | 89 ++++++------ plot-tma-opti.png | Bin 0 -> 72931 bytes plot-tma.png | Bin 0 -> 69309 bytes requirements.txt | 4 +- utils/utils.py | 15 +- 9 files changed, 284 insertions(+), 62 deletions(-) create mode 100644 drivers/elastic4.py create mode 100644 plot-tma-opti.png create mode 100644 plot-tma.png diff --git a/.gitignore b/.gitignore index ed8ebf5..b0f2192 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -__pycache__ \ No newline at end of file +__pycache__ +.venv \ No newline at end of file diff --git a/drivers/elastic.py b/drivers/elastic.py index 66b6674..4193c7b 100644 --- a/drivers/elastic.py +++ b/drivers/elastic.py @@ -2,6 +2,7 @@ from elasticsearch import Elasticsearch from elasticsearch.helpers import bulk from models.data_thread import Threads from interfaces.db_testing_interface import DB_Testing +import json INDEX = "threads" @@ -16,8 +17,8 @@ class Elastic_Testing(DB_Testing): self.bulk_data = [] for t in Threads: - y = t.__dict__.copy() - y["_index"] = INDEX + y = "{\"index\":{}}\n" + y += json.dumps(t.__dict__.copy()) self.bulk_data.append(y) def delete_table(self, driver: Elasticsearch): @@ -39,7 +40,8 @@ class Elastic_Testing(DB_Testing): driver.indices.delete(index=INDEX) def add_bulk(self, driver: Elasticsearch): - bulk(driver, self.bulk_data) + for i in range(0, len(self.bulk_data), 1000): + driver.bulk(index=INDEX, operations = '\n'.join(self.bulk_data[i:i+1000]), refresh=True) def add_singles(self, driver: Elasticsearch): for t in self.singles_data: @@ -162,7 +164,7 @@ class Elastic_Testing(DB_Testing): } } - driver.update_by_query(index=INDEX, body=update_query, conflicts="proceed") + driver.update_by_query(index=INDEX, body=update_query, conflicts="proceed", slices=len(Threads)//250, request_timeout=120) def update_add_replies_per_subject(self, driver: Elasticsearch) -> str: @@ -208,4 +210,4 @@ class Elastic_Testing(DB_Testing): } } - driver.update_by_query(index=INDEX, body=update_query, conflicts="proceed") \ No newline at end of file + driver.update_by_query(index=INDEX, body=update_query, conflicts="proceed", slices=len(Threads)//250, request_timeout=120) diff --git a/drivers/elastic4.py b/drivers/elastic4.py new file mode 100644 index 0000000..bb0b703 --- /dev/null +++ b/drivers/elastic4.py @@ -0,0 +1,215 @@ +from elasticsearch import Elasticsearch +from elasticsearch.helpers import bulk +from models.data_thread import Threads +from interfaces.db_testing_interface import DB_Testing +import json + +INDEX = "threads" + +class Elastic_4_Shards_Testing(DB_Testing): + driver_name = "ES (4-Shards)" + def __init__(self) -> None: + super().__init__() + self.singles_data = [] + for t in Threads: + x = t.__dict__.copy() + self.singles_data.append(x) + + self.bulk_data = [] + for t in Threads: + y = "{\"index\":{}}\n" + y += json.dumps(t.__dict__.copy()) + self.bulk_data.append(y) + + def delete_table(self, driver: Elasticsearch): + if driver.indices.exists(index=INDEX): + driver.indices.delete(index=INDEX) + + def create_table(self, driver: Elasticsearch): + self.delete_table(driver) + driver.indices.create(index=INDEX, body={ + 'settings': { + 'index': { + 'number_of_replicas': 0, + 'number_of_shards': 4 + } + } + }) + + def delete_data(self, driver: Elasticsearch): + if driver.indices.exists(index=INDEX): + driver.indices.delete(index=INDEX) + + def add_bulk(self, driver: Elasticsearch): + self.create_table(driver) + for i in range(0, len(self.bulk_data), 1000): + driver.bulk(index=INDEX, operations = '\n'.join(self.bulk_data[i:i+1000]), refresh=True) + + def add_singles(self, driver: Elasticsearch): + for t in self.singles_data: + driver.index(index=INDEX, document=t) + + def attach5_mr_mrs(self, driver: Elasticsearch): + query = { + "query": { + "bool": { + "must": [ + { + "range": { + "attachment_count": { + "gt": 5 + } + } + }, + { + "terms": { + "subject.keyword": ["Mr", "Mrs"] + } + } + ] + } + } + } + return f"Got {driver.count(index=INDEX, body=query).body['count']}" + + def search_mails_ends_microsoftcom(self, driver: Elasticsearch): + query = { + "query": { + "wildcard": { + "cc_recipients.keyword": "*@microsoft.com" + } + } + } + return f"Got {driver.count(index=INDEX, body=query).body['count']}" + + def search_lorem(self, driver: Elasticsearch): + query = { + "query": { + "match_phrase": { + "body": "Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh." + } + } + } + return f"Got {driver.count(index=INDEX, body=query).body['count']}" + + def get_sum_attachment_less_5(self, driver: Elasticsearch): + query = { + "size": 0, + "query": { + "bool": { + "must": [ + { + "range": { + "attachment_count": { + "lt": 5 + } + } + } + ] + } + }, + "aggs": { + "attachment_count": { + "sum": { + "field": "attachment_count" + } + } + } + } + return f"Got {driver.search(index=INDEX, body=query).body['aggregations']['attachment_count']['value']}" + + def update_add_replies_per_last_name(self, driver: Elasticsearch) -> str: + agg_query = { + "size": 0, + "aggs": { + "reply_count_by_last_name": { + "terms": { + "script": { + "source": "String name = doc['sender_name.keyword'].value; String[] parts = /\\s+/.split(name); return parts[parts.length - 1]", + "lang": "painless" + }, + "size": 1000 + }, + "aggs": { + "last_name_replies": { + "sum": { + "field": "reply_count" + } + } + } + } + } + } + + agg_results = driver.search(index=INDEX, body=agg_query) + + buckets = agg_results['aggregations']['reply_count_by_last_name']['buckets'] + reply_counts = {bucket['key']: bucket['last_name_replies']['value'] for bucket in buckets} + + update_query = { + "script": { + "source": """ + String name = ctx._source.sender_name; + String[] parts = /\\s+/.split(name); + String lastName = parts[parts.length - 1]; + if (params.replyCounts.containsKey(lastName)) { + ctx._source.last_name_replies = params.replyCounts.get(lastName); + } + """, + "lang": "painless", + "params": { + "replyCounts": reply_counts + } + }, + "query": { + "match_all": {} + } + } + + driver.update_by_query(index=INDEX, body=update_query, conflicts="proceed", slices=len(Threads)//250, request_timeout=120) + + + def update_add_replies_per_subject(self, driver: Elasticsearch) -> str: + agg_query = { + "size": 0, + "aggs": { + "reply_count_by_subject": { + "terms": { + "script": { + "source": "String name = doc['sender_name.keyword'].value; String[] parts = /\\s+/.split(name); return parts[parts.length - 1]", + "lang": "painless" + }, + "size": 1000 + }, + "aggs": { + "subject_replies": { + "sum": { + "field": "reply_count" + } + } + } + } + } + } + + agg_results = driver.search(index=INDEX, body=agg_query) + + buckets = agg_results['aggregations']['reply_count_by_subject']['buckets'] + reply_counts = {bucket['key']: bucket['subject_replies']['value'] for bucket in buckets} + + update_query = { + "script": { + "source": """ + ctx._source.subject_replies = params.replyCounts.get(ctx.subject); + """, + "lang": "painless", + "params": { + "replyCounts": reply_counts + } + }, + "query": { + "match_all": {} + } + } + + driver.update_by_query(index=INDEX, body=update_query, conflicts="proceed", slices=len(Threads)//250, request_timeout=120) diff --git a/interfaces/db_testing_interface.py b/interfaces/db_testing_interface.py index 1b5e0fc..b260257 100644 --- a/interfaces/db_testing_interface.py +++ b/interfaces/db_testing_interface.py @@ -5,7 +5,7 @@ from utils.utils import time_func from time import sleep T = TypeVar('T') -NUM_RUNS = 10 +NUM_RUNS = 100 class DB_Testing(Generic[T]): driver_name: str @@ -61,8 +61,8 @@ class DB_Testing(Generic[T]): def do_tests(self, driver: T) -> Dict[str, float]: stats = {} print(f"\n### Starting {self.driver_name} Benchmark ###") - stats.update(time_func(f"[{self.driver_name}] Reset table", "delete_table", lambda : self.delete_table(driver))) - stats.update(time_func(f"[{self.driver_name}] Create table", "create_table", lambda : self.create_table(driver))) + self.delete_table(driver) + self.create_table(driver) stats.update(time_func(f"[{self.driver_name}] Add singles", "add_singles", lambda : self.add_singles(driver))) stats.update(time_func(f"[{self.driver_name}] Delete data", "delete_data", lambda : self.delete_data(driver))) stats.update(time_func(f"[{self.driver_name}] Add bulk", "add_bulk", lambda : self.add_bulk(driver))) @@ -83,4 +83,4 @@ class DB_Testing(Generic[T]): print("\n") - return stats \ No newline at end of file + return stats diff --git a/main.py b/main.py index 7a6873a..4c4bc59 100644 --- a/main.py +++ b/main.py @@ -2,6 +2,7 @@ from elasticsearch import Elasticsearch from psycopg2 import connect from drivers.psql import PSQL_Testing from drivers.elastic import Elastic_Testing +from drivers.elastic4 import Elastic_4_Shards_Testing from sshtunnel import SSHTunnelForwarder from utils.utils import preprocess_json from typing_extensions import Dict @@ -10,13 +11,6 @@ import numpy as np import matplotlib.pyplot as plt def test_psql(): - with SSHTunnelForwarder( - ssh_address_or_host=("orodruin.mordor", 22), - ssh_username="postgres", - ssh_password="postgres", - remote_bind_address=('127.0.0.1', 5432), - local_bind_address = ('127.0.0.1', 5432) - ): psqlClient = connect( database="postgres", host="127.0.0.1", @@ -26,58 +20,64 @@ def test_psql(): ) psqlClient.autocommit = False return PSQL_Testing().do_tests(psqlClient) - - def test_elasticsearch(): es = Elasticsearch( - 'https://orodruin.mordor:9200/', - api_key='WjMwVXQ0OEJnUzRTOUVUaVNNVHY6MFh2X3RDcGRRWC1FRVNRZkdhWlYwUQ==', + 'http://elastic-tma.docker.tma.coe.int:80', + api_key='VGxhTnhJOEJGM3NDbkpWLVBzUkg6eHE4c3FuclhTWW1sRm9YN0FkWmRMdw==', verify_certs=False, # just to not create certificates ssl_show_warn=False ) return Elastic_Testing().do_tests(es) +def test_elasticsearch_4_shards(): + es = Elasticsearch( + 'http://elastic-tma.docker.tma.coe.int:80', + api_key='VGxhTnhJOEJGM3NDbkpWLVBzUkg6eHE4c3FuclhTWW1sRm9YN0FkWmRMdw==', + verify_certs=False, # just to not create certificates + ssl_show_warn=False + ) + return Elastic_4_Shards_Testing().do_tests(es) + def plot(timings: Dict[str, Dict[str, float]]): - # Transform the dict from {Driver: {Function, timing}} into {Function: [{Drivers, timing}]} - usable_dict = defaultdict(lambda: defaultdict(float)) - for driver_name, function_timing in timings.items(): - for function_name, timing in function_timing.items(): - usable_dict[function_name][driver_name] += timing - usable_dict = {k: dict(v) for k, v in usable_dict.items()} - - relative_dict = {} - for function, systems in usable_dict.items(): - relative_dict[function] = systems['ES'] / systems['PSQL'] - - functions = list(relative_dict.keys()) - psql_values = [1] * len(functions) # List of ones for the psql values - - es_values = list(relative_dict.values()) + functions = list(timings['PSQL'].keys()) + drivers = list(timings.keys()) + values = {func: [] for func in functions} - plt.figure(figsize=(12, 8)) + for func in functions: + values[func].append(timings['PSQL'][func]); + + for driver in [x for x in drivers if x != 'PSQL']: + for func in functions: + values[func].append(timings[driver][func] / values[func][0]) + + for func in functions: + values[func][0] = 1 + + fig, ax = plt.subplots(figsize=(12, 8)) index = np.arange(len(functions)) - bar_width = 0.35 + bar_width = 0.25 - plt.bar(index, psql_values, bar_width, label='PSQL', color='lightblue') - plt.bar(index + bar_width, es_values, bar_width, label='ES', color='orange') + for i, driver in enumerate(drivers): + ax.bar(index + i * bar_width, [values[func][i] for func in functions], bar_width, label=driver) - plt.xlabel('Functions') - plt.ylabel('Relative Time') - plt.title('Performance of ES Relative to PSQL') - plt.xticks(index + bar_width / 2, functions, rotation=45, ha="right") - plt.legend() - for i, v in enumerate(psql_values): - plt.text(i, v + 0.02, str(v), ha='center', va='bottom') - for i, v in enumerate(es_values): - plt.text(i + bar_width, v + 0.02, str(round(v, 2)), ha='center', va='bottom') + ax.set_xlabel('Functions') + ax.set_ylabel('Relative Time') + ax.set_title('Performance of ES Relative to PSQL') + ax.set_xticks(index + bar_width * (len(drivers) -1 ) / 2, functions, rotation=45, ha="right") + ax.set_xticklabels(functions) + ax.legend() - plt.tight_layout() - plt.savefig("plot.png") + for i, x in enumerate(drivers): + for j, v in enumerate([values[func][i] for func in functions]): + plt.text(j + (i * bar_width), v + 0.02, str(round(v, 2)), fontsize=8, ha='center', va='bottom') + + fig.tight_layout() + plt.savefig("plot-tma-opti.png") plt.show() @@ -89,7 +89,10 @@ if __name__ == "__main__": timings = {} - # timings['PSQL'] = test_psql() + timings['PSQL'] = test_psql() timings['ES'] = test_elasticsearch() + timings['ES4shards'] = test_elasticsearch_4_shards() - # plot(timings) \ No newline at end of file + + plot(timings) + print(timings) diff --git a/plot-tma-opti.png b/plot-tma-opti.png new file mode 100644 index 0000000000000000000000000000000000000000..f2e91c1be570a9b34f03b0a83703251c36efe595 GIT binary patch literal 72931 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 literal 0 HcmV?d00001 diff --git a/plot-tma.png b/plot-tma.png new file mode 100644 index 0000000000000000000000000000000000000000..0e96859e2fcd7a13b7648499d746f6e941bbfe59 GIT binary patch literal 69309 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 literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt index 5bd4182..68bcb97 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -psycopg2==2.9.9 sshtunnel==0.4.0 typing_extensions==4.12.0 typing==3.7.4.3 elasticsearch==8.13.2 -matplotlib==3.9.0 \ No newline at end of file +matplotlib==3.9.0 +psycopg2-binary diff --git a/utils/utils.py b/utils/utils.py index 2dbbefb..3f5b3b4 100644 --- a/utils/utils.py +++ b/utils/utils.py @@ -26,10 +26,11 @@ def time_func(name: str, function_name: str, x : Callable, repeat : Optional[int def preprocess_json(): - with open('data.json', 'r') as f: - data : dict = json.load(f) - for d in data: - x = Data_Thread() - for k in d.keys(): - x.__setattr__(k, d[k]) - Threads.append(x) \ No newline at end of file + for x in range(0, 1): + with open('data.json', 'r') as f: + data : dict = json.load(f) + for d in data: + x = Data_Thread() + for k in d.keys(): + x.__setattr__(k, d[k]) + Threads.append(x) \ No newline at end of file