国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在華為云上通過 Docker 容器部署 Elasticsearch 并進(jìn)行性能評測

jf_81200783 ? 來源:jf_81200783 ? 作者:jf_81200783 ? 2025-01-13 13:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

1. 華為云X實例介紹及優(yōu)勢

1.1 柔性算力

1.2 vCPU和內(nèi)存的靈活配比

1.3 成本效益與性能

2. 安裝并運行 Docker

2.1 修改倉庫配置文件

2.2 安裝 Docker

2.3 啟動 Docker

3. 使用Docker部署Elasticsearch

3.1 拉取Elasticsearch鏡像

3.2 啟動Elasticsearch容器

3.3 驗證Elasticsearch

4. 安裝Apache Benchmark (ab) 工具

5. 使用 ab 工具對 Elasticsearch 進(jìn)行評測

5.1 運行 Elasticsearch 查詢評測

5.2 查看評測結(jié)果

5.3 調(diào)整并發(fā)請求和請求數(shù)

6. 總結(jié)

前言

隨著數(shù)據(jù)量的不斷增加,企業(yè)對高效搜索和數(shù)據(jù)分析的需求也在快速增長。Elasticsearch 作為一款分布式的全文搜索引擎,因其高性能和可擴展性,廣泛應(yīng)用于大數(shù)據(jù)場景。在本篇文章中,我將介紹如何在華為云上通過 Docker 容器化部署 Elasticsearch,并通過工具對其進(jìn)行性能評測。整篇文章將涵蓋從環(huán)境準(zhǔn)備、部署、到性能評測的詳細(xì)步驟和代碼示例,幫助讀者在華為云上快速搭建一個高效的 Elasticsearch 系統(tǒng)。

1. 華為云 X 實例介紹及優(yōu)勢

在選擇云服務(wù)平臺時,計算資源的彈性和性價比是關(guān)鍵考慮因素。華為云 X 實例是為用戶提供高性價比和靈活資源調(diào)配能力的云計算服務(wù),特別適合計算密集型任務(wù),如大數(shù)據(jù)處理、AI 訓(xùn)練以及像 Elasticsearch 這樣的分布式搜索引擎。

1.1 柔性算力

華為云 X 實例采用了柔性算力的設(shè)計理念。所謂柔性算力,即用戶可以根據(jù)具體的業(yè)務(wù)需求,在計算能力、存儲容量和帶寬等資源之間進(jìn)行靈活調(diào)配。這意味著,用戶在運行 Elasticsearch 等應(yīng)用時,可以根據(jù)數(shù)據(jù)增長或查詢量的變化,動態(tài)調(diào)整資源,確保性能需求得到滿足。

1.2 vCPU 和內(nèi)存的靈活配比

X 實例允許用戶靈活配置 vCPU 與內(nèi)存的比例,從而根據(jù)不同負(fù)載場景進(jìn)行優(yōu)化。例如,在 Elasticsearch 集群中,索引和搜索任務(wù)的負(fù)載不同,可能需要更高的內(nèi)存或計算能力。通過在 X 實例中調(diào)整 vCPU 與內(nèi)存的配比,用戶可以避免資源浪費,提高成本效益。

1.3 成本效益與性能

在高性價比方面,華為云 X 實例提供了更具競爭力的價格,特別是對于那些對資源需求波動較大的工作負(fù)載,如 Elasticsearch 的動態(tài)索引和查詢工作。結(jié)合彈性擴展能力,用戶可以在不犧牲性能的前提下,大幅降低運行成本。此外,X 實例支持不同的計費模式,用戶可以按需付費或選擇包年包月等多種付費方式,從而進(jìn)一步提升云上計算資源的利用效率。

近期華為云推出了優(yōu)惠活動,X 實例服務(wù)器的折扣力度非常大,性能與性價比兼具,特別適合開發(fā)者進(jìn)行各種項目部署和測試,歡迎大家抓住機會體驗。

2. 安裝并運行 Docker

在開始部署之前,確保您已經(jīng)在華為云上創(chuàng)建了一個 X 實例服務(wù)器,并安裝了 Docker。以下是需要準(zhǔn)備的內(nèi)容:

2.1 修改倉庫配置文件

如果在添加 Docker 倉庫時出現(xiàn)錯誤,需手動下載并修改倉庫文件。執(zhí)行以下命令下載倉庫文件:

wget https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo -P /usr/local/docker

打開文件并將 $releasever 替換為 7:

vi /usr/local/docker/docker-ce.repo:%s/$releasever/7/g

重新添加倉庫:

yum-config-manager --add-repo /usr/local/docker/docker-ce.repo

2.2 安裝 Docker

安裝 Docker 及相關(guān)組件:

yum install -y docker-ce docker-ce-cli containerd.io

2.3 啟動 Docker

安裝完成后,啟動 Docker 服務(wù):

systemctl start docker

使用以下命令確認(rèn) Docker 正常運行:

systemctl status docker

wKgZPGeEpj-AelcxAAD9qW6gwBg855.png

3. 使用 Docker 部署 Elasticsearch

部署 Elasticsearch 的方式有很多種,使用 Docker 可以方便地管理其容器化進(jìn)程,并快速擴展。接下來我們將拉取 Elasticsearch 鏡像,并通過 Docker 啟動容器。

3.1 拉取 Elasticsearch 鏡像

執(zhí)行以下命令從 Docker Hub 上獲取 Elasticsearch 官方鏡像:

docker pull elasticsearch:7.16.2

3.2 啟動 Elasticsearch 容器

在啟動容器之前,我們可以通過指定一些環(huán)境變量來配置 Elasticsearch。以下是一個啟動 Elasticsearch 的命令示例:

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms4g -Xmx4g" -v es_data:/usr/share/elasticsearch/data elasticsearch:7.16.2

上述命令解釋:

·-p 9200:9200:將主機的 9200 端口映射到容器的 9200 端口(用于 HTTP 訪問)。

·-p 9300:9300:將主機的 9300 端口映射到容器的 9300 端口(用于集群通信)。

·-e "discovery.type=single-node":指定 Elasticsearch 為單節(jié)點模式。

·-e "ES_JAVA_OPTS=-Xms4g -Xmx4g":設(shè)置 JVM 內(nèi)存分配為 4GB。

·-v es_data:/usr/share/elasticsearch/data:將 Elasticsearch 的數(shù)據(jù)存儲映射到 Docker 卷 es_data 中。

啟動后,您可以通過以下命令查看容器狀態(tài):

docker ps

如果 Elasticsearch 啟動成功,您應(yīng)該能夠看到容器在運行。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2f11d1ece355 elasticsearch:7.16.2 "/bin/tini -- /usr/l…" 3 days ago Up 3 days 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp elasticsearch

3.3 驗證 Elasticsearch

您可以通過瀏覽器或 curl 命令訪問 Elasticsearch 的 REST API 接口,驗證其是否正常啟動:

curl -X GET "localhost:9200/"

如果部署成功,您將得到類似以下的 JSON 響應(yīng):

{"name" : "2f11d1ece355","cluster_name" : "docker-cluster","cluster_uuid" : "ztjMH9OAQaKDErlBVHpgpg","version" : { "number" : "7.16.2", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "2b937c44140b6559905130a8650c64dbd0879cfb", "build_date" : "2021-12-18T19:42:46.604893745Z", "build_snapshot" : false, "lucene_version" : "8.10.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"}

4. 安裝 Apache Benchmark (ab) 工具

Apache Benchmark(簡稱 ab)是 Apache HTTP Server 附帶的一個命令行工具,常用于對 HTTP 服務(wù)的性能進(jìn)行測試。由于 Elasticsearch 的 REST API 是基于 HTTP 協(xié)議的,因此可以使用 ab 工具對其進(jìn)行簡單的壓力測試。

大多數(shù) Linux 系統(tǒng)自帶 ab 工具,如果沒有安裝 Apache,可以通過以下命令安裝:

sudo yum install httpd-tools

安裝完成后,可以通過以下命令驗證 ab 是否安裝成功:

ab -V

如果返回版本號,則表示安裝成功。

wKgZO2eEpj-AcdXYAAAUQDf177w616.png

5. 使用 ab 工具對 Elasticsearch 進(jìn)行評測

ab (Apache Benchmark) 工具通過向指定 URL 發(fā)送多個 HTTP 請求,統(tǒng)計響應(yīng)時間、吞吐量等性能指標(biāo),幫助評估服務(wù)器的性能。對于 Elasticsearch 集群,可以使用 ab 工具測試查詢請求的性能,如數(shù)據(jù)檢索的響應(yīng)時間和吞吐量等。

5.1 運行 Elasticsearch 查詢評測

以下是使用 ab 工具對 Elasticsearch 進(jìn)行查詢性能評測的步驟:

確定查詢 URL先確定需要測試的 Elasticsearch 查詢請求。假設(shè) Elasticsearch 運行在 localhost:9200,并且索引為 blog01,可以使用以下命令執(zhí)行簡單的搜索請求:

curl -XGET http://localhost:9200/blog01/article/1?pretty

這將返回 id 字段為 1 的文章數(shù)據(jù)。

wKgZPGeEpkCAWGN0AAAZy6XZg7Y550.png

運行 ab 測試使用 ab 工具對上述 URL 進(jìn)行壓力測試,模擬多個并發(fā)查詢請求。例如,以下命令發(fā)出 1000 個請求,允許最多 10 個并發(fā)請求:

ab -n 1000 -c 10 http://localhost:9200/blog01/article/_search?q=id:1

參數(shù)說明:

·-n 1000:總共發(fā)出 1000 個 HTTP 請求。

·-c 10:最多允許 10 個并發(fā)請求。

5.2 查看評測結(jié)果

ab 工具的評測結(jié)果包括以下關(guān)鍵指標(biāo):

·Requests per second:每秒處理的請求數(shù),即吞吐量。

·Time per request:每個請求的平均處理時間(延遲)。

·Transfer rate:數(shù)據(jù)傳輸速度。

示例輸出如下:

Concurrency Level: 10Time taken for tests: 0.720 secondsComplete requests: 1000Failed requests: 1 (Connect: 0, Receive: 0, Length: 1, Exceptions: 0)Total transferred: 863001 bytesHTML transferred: 280001 bytesRequests per second: 1389.56 [#/sec] (mean)Time per request: 7.197 [ms] (mean)Time per request: 0.720 [ms] (mean, across all concurrent requests)Transfer rate: 1171.09 [Kbytes/sec] received?Connection Times (ms)min mean[+/-sd] median maxConnect: 0 0 0.0 0 0Processing: 1 7 2.8 7 24Waiting: 1 7 2.7 7 24Total: 1 7 2.8 7 24

分析

·Requests per second (1389.56)表示 Elasticsearch 服務(wù)器每秒處理約 1390 個請求,說明在 10 個并發(fā)請求下,系統(tǒng)的吞吐量較高。

·Time per request (7.197 ms)表示平均每個請求處理時間約為 7 毫秒,說明延遲較低,系統(tǒng)能快速響應(yīng)。

·Failed requests (1)表示在 1000 次請求中只有 1 次失敗,服務(wù)器在高并發(fā)下的穩(wěn)定性較好。

5.3 調(diào)整并發(fā)請求和請求數(shù)

可以通過調(diào)整-n 和 -c 參數(shù),測試不同規(guī)模的壓力場景。比如,以下命令模擬 100 個并發(fā)請求,共發(fā)出 5000 個請求:

ab -n 5000 -c 100 http://localhost:9200/blog01/article/_search?q=id:1

輸出示例如下:

Concurrency Level: 100Time taken for tests: 1.628 secondsComplete requests: 5000Failed requests: 5 (Connect: 0, Receive: 0, Length: 5, Exceptions: 0)Total transferred: 4315005 bytesHTML transferred: 1400005 bytesRequests per second: 3070.79 [#/sec] (mean)Time per request: 32.565 [ms] (mean)Time per request: 0.326 [ms] (mean, across all concurrent requests)Transfer rate: 2587.99 [Kbytes/sec] received?Connection Times (ms)min mean[+/-sd] median maxConnect: 0 0 0.2 0 2Processing: 1 32 18.3 30 100Waiting: 1 32 18.3 30 100Total: 1 32 18.3 30 100

分析

·在 100 并發(fā)請求下,Requests per second達(dá)到 3070.79,說明系統(tǒng)在高并發(fā)場景下吞吐量顯著提高。

·Time per request增至 32 毫秒,說明在更高并發(fā)情況下,系統(tǒng)的響應(yīng)時間有所增加,但仍在可接受范圍內(nèi)。

通過這種壓力測試,可以了解 Elasticsearch 在不同并發(fā)請求下的性能表現(xiàn),并為實際應(yīng)用中的優(yōu)化提供依據(jù)。

6. 總結(jié)

通過 Apache Benchmark 工具,您可以快速對 Elasticsearch 集群的查詢性能進(jìn)行壓力測試。該工具簡單易用,能夠提供基本的吞吐量、延遲和失敗請求等指標(biāo)。它適用于對 HTTP 層的簡單壓力測試,幫助用戶初步了解集群的性能狀況。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    532

    瀏覽量

    14243
  • 華為云
    +關(guān)注

    關(guān)注

    3

    文章

    2832

    瀏覽量

    19248
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Docker容器網(wǎng)絡(luò)模式全解析

    容器網(wǎng)絡(luò)是Docker使用中最容易出問題的部分。容器之間怎么通信、容器怎么訪問外網(wǎng)、外部怎么訪問容器內(nèi)的服務(wù)——這三個問題搞不清楚,排查網(wǎng)絡(luò)
    的頭像 發(fā)表于 02-26 16:39 ?234次閱讀

    香橙派昇騰系列開發(fā)板如何部署OpenClaw

    香橙派昇騰系列開發(fā)板解鎖專業(yè)級智能體,OpenClaw擁抱高算力未來 兩篇文章我們給出了香橙派此芯及RK系列產(chǎn)品部署OpenClaw的教程,接下來我們將這只智能小龍蝦接入到昇騰系列開發(fā)板中。以下
    發(fā)表于 02-25 10:13

    KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單

    環(huán)境示例) 有開發(fā)者分享了在華為Flexus服務(wù)器X實例,基于openEuler 22.03 LTS操作系統(tǒng)部署KubePi的實踐。這
    發(fā)表于 02-11 12:53

    如何在2026年Rocky Linux(8、9和10)安裝Docker

    Docker 已成為現(xiàn)代應(yīng)用部署、開發(fā)和基礎(chǔ)設(shè)施自動化的核心技術(shù)。如果你在服務(wù)器或VPS運行Rocky Linux,學(xué)會在Rocky Linux安裝
    的頭像 發(fā)表于 01-12 17:21 ?1150次閱讀

    如何在NVIDIA Jetson AGX Thor通過Docker高效部署vLLM推理服務(wù)

    繼系統(tǒng)安裝與環(huán)境配置后,本期我們將繼續(xù)帶大家深入 NVIDIA Jetson AGX Thor 的開發(fā)教程之旅,了解如何在 Jetson AGX Thor 通過 Docker 高效部署
    的頭像 發(fā)表于 11-13 14:08 ?4112次閱讀
    如何在NVIDIA Jetson AGX Thor<b class='flag-5'>上</b><b class='flag-5'>通過</b><b class='flag-5'>Docker</b>高效<b class='flag-5'>部署</b>vLLM推理服務(wù)

    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—Docker容器部署方法說明

    本文圍繞創(chuàng)龍科技研發(fā)的評估板,詳細(xì)說明 Docker 容器部署方法,包括 Docker 架構(gòu)介紹、安裝步驟(依賴包安裝、GPG 密鑰添加等)、本地鏡像倉庫搭建,以及單個 / 多個鏡像的
    的頭像 發(fā)表于 10-22 17:21 ?724次閱讀
    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b><b class='flag-5'>部署</b>方法說明

    國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Docker容器部署方法說明

    本指導(dǎo)文檔主要演示Docker容器部署的方法,并基于Docker運行l(wèi)ed_flash例程。
    的頭像 發(fā)表于 08-06 15:55 ?487次閱讀
    國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b><b class='flag-5'>部署</b>方法說明

    Docker容器安全攻防實戰(zhàn)案例

    在云原生時代,Docker已成為現(xiàn)代應(yīng)用部署的基石。然而,容器化帶來便利的同時,也引入了新的安全挑戰(zhàn)。作為一名在生產(chǎn)環(huán)境中管理過數(shù)千個容器的運維工程師,我將
    的頭像 發(fā)表于 08-05 09:52 ?1324次閱讀

    創(chuàng)龍 瑞芯微 RK3562 國產(chǎn) 2GHz 四核A53 工業(yè)開發(fā)板—Docker容器部署方法說明

    Docker是一個開源的應(yīng)用容器引擎,讓開發(fā)者可打包他們的應(yīng)用以及依賴包至一個可移植的鏡像中,然后發(fā)布至任何流行的Linux或Windows機器,亦可實現(xiàn)虛擬化。容器是完全使用沙箱機
    的頭像 發(fā)表于 07-03 11:00 ?570次閱讀
    創(chuàng)龍 瑞芯微 RK3562 國產(chǎn) 2GHz 四核A53 工業(yè)開發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b><b class='flag-5'>部署</b>方法說明

    干貨分享 | RK3588 Ubuntu系統(tǒng)Docker容器使用指南

    前言:在瑞芯微RK3588高性能AIoT平臺上運行Ubuntu系統(tǒng)時,Docker容器技術(shù)能極大提升開發(fā)部署效率。通過輕量級虛擬化實現(xiàn)環(huán)境隔
    的頭像 發(fā)表于 06-27 12:01 ?3851次閱讀
    干貨分享 | RK3588 Ubuntu系統(tǒng)<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>使用指南

    如何使用Docker部署大模型

    隨著深度學(xué)習(xí)和大模型的快速發(fā)展,如何高效地部署這些模型成為了一個重要的挑戰(zhàn)。Docker 作為一種輕量級的容器化技術(shù),能夠?qū)⒛P图捌湟蕾嚟h(huán)境打包成一個可移植的容器,極大地簡化了
    的頭像 發(fā)表于 05-24 16:39 ?1113次閱讀

    HarmonyOS5服務(wù)技術(shù)分享--Serverless抽獎模板部署

    活動。不用寫復(fù)雜代碼,跟著步驟走就能搞定,文末還有部署避坑指南哦~ 一、前期準(zhǔn)備 1?? ??注冊賬號+創(chuàng)建項目?? 先到華為開發(fā)者平臺注冊賬號 創(chuàng)建新項目時記得勾選\"開發(fā)
    發(fā)表于 05-22 20:25

    Docker Compose的常用命令

    。它通過一個配置文件(docker-compose.yml)來詳細(xì)定義多個容器之間的關(guān)聯(lián)、網(wǎng)絡(luò)設(shè)置、服務(wù)端口等信息。使用一條簡單的命令,就可以輕松啟動、停止和管理這些容器,極大地簡化了
    的頭像 發(fā)表于 04-30 13:40 ?1197次閱讀

    Docker常用命令大全

    Docker 是一種開源的應(yīng)用容器引擎,廣泛應(yīng)用于開發(fā)、部署和運行分布式應(yīng)用。掌握 Docker 常用命令對于開發(fā)人員和運維人員來說非常重要。本文將為大家整理常用的
    的頭像 發(fā)表于 04-22 12:47 ?859次閱讀

    【技術(shù)案例】Android in Docker

    Docker介紹Docker是一個開源的容器化平臺,用于打包、分發(fā)和運行應(yīng)用程序。它通過將應(yīng)用及其所有依賴打包到獨立的容器中,確保應(yīng)用在不同
    的頭像 發(fā)表于 04-02 16:33 ?1756次閱讀
    【技術(shù)案例】Android in <b class='flag-5'>Docker</b>