在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

jf_81200783 ? 來源:jf_81200783 ? 作者:jf_81200783 ? 2025-01-13 13:36 ? 次閱讀

前言

1. 華為云X實例介紹及優勢

1.1 柔性算力

1.2 vCPU和內存的靈活配比

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 進行評測

5.1 運行 Elasticsearch 查詢評測

5.2 查看評測結果

5.3 調整并發請求和請求數

6. 總結

前言

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

1. 華為云 X 實例介紹及優勢

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

1.1 柔性算力

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

1.2 vCPU 和內存的靈活配比

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

1.3 成本效益與性能

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

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

2. 安裝并運行 Docker

在開始部署之前,確保您已經在華為云上創建了一個 X 實例服務器,并安裝了 Docker。以下是需要準備的內容:

2.1 修改倉庫配置文件

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

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 及相關組件:

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

2.3 啟動 Docker

安裝完成后,啟動 Docker 服務:

systemctl start docker

使用以下命令確認 Docker 正常運行:

systemctl status docker

wKgZPGeEpj-AelcxAAD9qW6gwBg855.png

3. 使用 Docker 部署 Elasticsearch

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

3.1 拉取 Elasticsearch 鏡像

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

docker pull elasticsearch:7.16.2

3.2 啟動 Elasticsearch 容器

在啟動容器之前,我們可以通過指定一些環境變量來配置 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 為單節點模式。

·-e "ES_JAVA_OPTS=-Xms4g -Xmx4g":設置 JVM 內存分配為 4GB。

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

啟動后,您可以通過以下命令查看容器狀態:

docker ps

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

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 響應:

{"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 服務的性能進行測試。由于 Elasticsearch 的 REST API 是基于 HTTP 協議的,因此可以使用 ab 工具對其進行簡單的壓力測試。

大多數 Linux 系統自帶 ab 工具,如果沒有安裝 Apache,可以通過以下命令安裝:

sudo yum install httpd-tools

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

ab -V

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

wKgZO2eEpj-AcdXYAAAUQDf177w616.png

5. 使用 ab 工具對 Elasticsearch 進行評測

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

5.1 運行 Elasticsearch 查詢評測

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

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

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

這將返回 id 字段為 1 的文章數據。

wKgZPGeEpkCAWGN0AAAZy6XZg7Y550.png

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

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

參數說明:

·-n 1000:總共發出 1000 個 HTTP 請求。

·-c 10:最多允許 10 個并發請求。

5.2 查看評測結果

ab 工具的評測結果包括以下關鍵指標:

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

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

·Transfer rate:數據傳輸速度。

示例輸出如下:

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 服務器每秒處理約 1390 個請求,說明在 10 個并發請求下,系統的吞吐量較高。

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

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

5.3 調整并發請求和請求數

可以通過調整-n 和 -c 參數,測試不同規模的壓力場景。比如,以下命令模擬 100 個并發請求,共發出 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 并發請求下,Requests per second達到 3070.79,說明系統在高并發場景下吞吐量顯著提高。

·Time per request增至 32 毫秒,說明在更高并發情況下,系統的響應時間有所增加,但仍在可接受范圍內。

通過這種壓力測試,可以了解 Elasticsearch 在不同并發請求下的性能表現,并為實際應用中的優化提供依據。

6. 總結

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

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Docker
    +關注

    關注

    0

    文章

    492

    瀏覽量

    11927
  • 華為云
    +關注

    關注

    3

    文章

    2682

    瀏覽量

    17557
收藏 人收藏

    評論

    相關推薦

    華為 X 實例部署 Docker 應用的性能評測優化與實踐指南

    ? 3.2 使用Docker部署Elasticsearch ? 3.3 使用Docker部署MySQL ? 3.4 使用
    的頭像 發表于 01-23 18:03 ?95次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> X 實例<b class='flag-5'>部署</b> <b class='flag-5'>Docker</b> 應用的<b class='flag-5'>性能</b><b class='flag-5'>評測</b>優化與實踐指南

    華為 FlexusX 與 Docker+Nginx 的高效整合之路

    前言 華為 FlexusX 攜手 Docker+Nginx,高效整合,云端性能再升級!FlexusX 服務器,依托華為強大的技術實力,為 Docke
    的頭像 發表于 01-23 17:55 ?71次閱讀
    <b class='flag-5'>華為</b> FlexusX 與 <b class='flag-5'>Docker</b>+Nginx 的高效整合之路

    解鎖電商新境界,在華為 Flexus 快速部署并運行 Magento 電商系統

    Flexus X 實例,我體驗到了快速部署的便捷與高效,同時享受到了按需付費的靈活性與成本優化。本文將分享我在華為 Flexus 上部署
    的頭像 發表于 01-17 09:42 ?151次閱讀
    解鎖電商新境界,<b class='flag-5'>在華為</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>上</b>快速<b class='flag-5'>部署</b>并運行 Magento 電商系統

    解鎖高效項目管理,Zentao 在華為 Flexusx 容器部署與應用指南

    部署提供了理想平臺。Flexusx 實例采用按需計費的靈活定價模式,用戶可以根據實際使用情況支付費用,有效控制成本。本文章旨在幫助廣大項目管理者和 IT 運維人員掌握 Zentao 在華為 Flexusx 實例
    的頭像 發表于 01-13 15:54 ?199次閱讀
    解鎖高效項目管理,Zentao <b class='flag-5'>在華為</b><b class='flag-5'>云</b> Flexusx <b class='flag-5'>容器</b>化<b class='flag-5'>部署</b>與應用指南

    華為 Flexus 服務器 X 實例之 openEuler 系統部署 Docker Compose 管理工具 Dockge

    docker-compose.yaml 部署文件時,Dockge 以其精美的設計和易用性脫穎而出,成為不可或缺的管理工具。利用華為 Flexus
    的頭像 發表于 01-08 11:41 ?171次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b>服務器 X 實例之 openEuler 系統<b class='flag-5'>部署</b> <b class='flag-5'>Docker</b> Compose 管理工具 Dockge

    基于 Docker 與 Jenkins 實現自動化部署

    前言 重塑自動化部署新高度,Docker 攜手 Jenkins,在華為 Flexus X 服務器的加持下,引領持續集成與
    的頭像 發表于 01-07 17:25 ?214次閱讀
    基于 <b class='flag-5'>Docker</b> 與 Jenkins 實現自動化<b class='flag-5'>部署</b>

    在華為 FlexusX 實例實現 Docker 容器的實時監控與可視化分析

    前言 華為 Flexus X,以頂尖算力與智能調度,引領 Docker 容器管理新風尚。828 企業
    的頭像 發表于 01-02 13:42 ?112次閱讀
    <b class='flag-5'>在華為</b><b class='flag-5'>云</b> FlexusX 實例<b class='flag-5'>上</b>實現 <b class='flag-5'>Docker</b> <b class='flag-5'>容器</b>的實時監控與可視化分析

    云端安全守護者,華為 Flexusx 的 AWVS 容器部署與安全掃描實踐

    前言 華為 Flexusx 實例以其高性能、可靠性和擴展性著稱,為企業提供靈活的計算資源。其靈活性不僅限于硬件配置,更在于對容器化應用的深度支持。
    的頭像 發表于 12-30 14:54 ?115次閱讀
    云端安全守護者,<b class='flag-5'>華為</b><b class='flag-5'>云</b> Flexusx <b class='flag-5'>上</b>的 AWVS <b class='flag-5'>容器</b>化<b class='flag-5'>部署</b>與安全掃描實踐

    華為 Flexus 服務器 X 實例之 openEuler 系統下玩轉 iSulad 容器技術

    的靈活性與性能。結合華為自研的 iSulad 容器技術,用戶能夠在 openEuler 系統享受到更輕量級、更安全的應用程序部署體驗。本文
    的頭像 發表于 12-30 14:53 ?108次閱讀
    <b class='flag-5'>華為</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b>服務器 X 實例之 openEuler 系統下玩轉 iSulad <b class='flag-5'>容器</b>技術

    在 Huawei Cloud EulerOS 系統中安裝 Docker 的詳細步驟與常見問題解決

    Docker鏡像 ? 6. 配置Docker鏡像加速 ? 6.1 修改daemon.json文件 ? 6.2 再次拉取鏡像 ? 結語 ? 前言 Docker 是一種輕量級的容器技術,廣
    的頭像 發表于 12-26 18:12 ?365次閱讀
    在 Huawei Cloud EulerOS 系統中安裝 <b class='flag-5'>Docker</b> 的詳細步驟與常見問題解決

    docker和k8s部署平臺性能要求盤點

    Docker和Kubernetes在平臺部署時有各自的性能要求。Docker需要足夠的CPU、內存和存儲資源,以及快速的網絡帶寬和優化的鏡
    的頭像 發表于 11-05 10:47 ?246次閱讀

    使用OpenVINO Model Server在哪吒開發板上部署模型

    OpenVINO Model Server(OVMS)是一個高性能的模型部署系統,使用C++實現,并在Intel架構部署進行了優化,使用
    的頭像 發表于 11-01 14:19 ?338次閱讀
    使用OpenVINO Model Server在哪吒開發板上<b class='flag-5'>部署</b>模型

    ARM平臺實現Docker容器技術

    通過利用Docker的快速發布、測試和部署代碼的方法,可顯著減少產品開發時間。Docker使用客戶端——服務器(C/S)體系結構。Docker
    發表于 07-25 14:36

    ARM平臺實現Docker容器技術

    通過利用Docker的快速發布、測試和部署代碼的方法,可顯著減少產品開發時間。Docker使用客戶端——服務器(C/S)體系結構。Docker
    發表于 07-17 11:05

    ARM平臺實現Docker容器技術

    ,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應用程序一樣管理基礎結構。通過利用Docker的快速發布、測試和
    的頭像 發表于 03-07 13:48 ?839次閱讀
    ARM平臺實現<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>技術
    主站蜘蛛池模板: 四虎成人影院网址 | 日本一区二区在线视频 | 2021韩国理论片ok电影天堂 | 天天爽天天爱 | 午夜一区二区免费视频 | 午夜免费观看_视频在线观看 | 色综合久久综精品 | 欧美一级特黄乱妇高清视频 | 久久综合九色欧美综合狠狠 | 天堂网2018| 在线午夜视频 | 四虎在线永久 | 亚洲国产精品久久久久婷婷软件 | 国产狂喷冒白浆免费视频 | 国产五月 | 性夜影院爽黄a爽免费视 | 国产成+人+综合+亚洲欧美丁香花 | 亚洲综合一二三区 | 久草婷婷 | 色网址在线 | jlzzjlzzjlzz日本亚洲 | 亚洲黄色色图 | 国产自在自线午夜精品视频在 | 天天狠狠弄夜夜狠狠躁·太爽了 | 亚洲午夜日韩高清一区 | 岛国毛片在线观看 | 亚洲高清中文字幕一区二区三区 | 欧美二区三区 | 欧美一级在线观看播放 | 亚洲免费人成在线视频观看 | 免费又黄又硬又大爽日本 | 亚洲福利秒拍一区二区 | 福利在线看 | 在线a人片免费观看不卡 | 永久免费的啪啪免费的网址 | 91亚色视频 | 日日噜噜噜夜夜爽爽狠狠视频 | 午夜网站在线播放 | 97午夜理伦片在线影院 | 天天操夜夜噜 | 日韩三级免费观看 |