OpenSearch正在运行执行时间



我正在研究AWS OpenSearch,我试图衡量的一件事是不同查询和索引命令的运行时间或执行时间。例如,执行查询搜索、创建索引、删除索引等操作需要多长时间?

现在我正在使用awswrangler Python库与OpenSearch.API进行交互

读取我目前拥有的索引代码:

awswrangler.opensearch.search(client=self.client, index="index_name", search_body=any_dsl_query,size=100)
awswrangler.opensearch.search_by_sql(client=self.client, sql_query="SELECT * from index_name limit 100")

删除索引代码:

awswrangler.opensearch.delete_index(client=self.client, index="index_name")

创建索引代码(此代码实际返回所需的运行时间(:

awswrangler.opensearch.index_csv(client=self.client, path=csv_file_path, index="index_name")

不幸的是,除了创建索引之外,这些都没有返回开箱即用的运行时。

我知道我可以创建自己的定时器脚本来获得运行时间,但我不想在客户端这样做,因为这将包括我的网络和执行时间的延迟。有没有办法用OpenSearch做到这一点?

我在我使用的awswranglerpython库中找不到方法,也找不到迄今为止的任何其他方法。

我能够通过使用python请求库并查看";响应中的值,这是以毫秒为单位运行查询所花费的时间。以下是我用来使其工作的代码:

sample_sql_query = "SELECT * FROM  <index_name> LIMIT 5"
sql_result = requests.post("<opensearch_domain>/_plugins/_sql?format=json", auth=(username, password), data=json.dumps({"query":sample_sql_query}), headers=headers).json()
print (sql_result)

相关内容

最新更新