Memcached 1.5.12 移植指南
介紹
簡要介紹
Memcached是LiveJournal旗下Danga Interactive公司以Brad Fitzpatric為首開發的一款高性能分佈式內存對象緩存系統,通過緩存數據庫查詢結果,減少數據庫訪問次數,來提高動態Web應用的訪問速度、提高可擴展性。
Memcached的官方鏈接:https://memcached.org/
開發語言:C
一句話描述:分佈式內存對象緩存系統
環境要求
硬件要求
硬件要求如下表所示。
| 項目 | 説明 |
|---|---|
| 服務器 | TaiShan 200服務器(型號2280) |
| CPU | 鯤鵬920 5250處理器 |
| 磁盤分區 | 對磁盤分區無要求 |
操作系統要求
操作系統要求如下表所示。
| 項目 | 版本 |
|---|---|
| openEuler | 20.03 LTS SP1 aarch64 |
| Kernel | 4.19 |
查詢當前系統版本信息
cat /etc/os-release
安裝openEuler操作系統,請參考https://openeuler.org/zh/docs...
説明:
安裝方式建議選擇“Server with GUI”安裝方式。
配置編譯環境
編譯Memcached需要準備C編譯器、GNU、make、automake、libevent和libevent-devel。
-
安裝gcc,已安裝則跳過
yum -y install gcc gcc-c++ kernel-devel -
安裝GNU make和automake、unzip、telnet,已安裝則跳過
yum -y install make automake unzip telnet -
安裝libevent和libevent-devel
yum -y install libevent libevent-devel
獲取源碼
若您的服務器可以訪問網絡,執行 wget https://github.com/memcached/... 命令下載源碼。否則,請訪問 https://github.com/memcached/... 下載源碼並複製到服務器“/home”目錄。
編譯和安裝
以本地下載源碼並上傳到服務器為例説明編譯和安裝操作
-
解壓源碼包
cd /homeunzip 1.5.12.zip -
進入“memcached-1.5.12”目錄
cd memcached-1.5.12 -
配置Memcached
sh autogen.sh./configure --prefix=/opt/memcached可在該步驟指定Memcached安裝目錄,例如本文指定安裝在“/opt/memcached”目錄下。
-
執行編譯
make -j60-j60參數充分利用多核CPU優勢,加快編譯速度。
-
執行安裝
make install - 進入指定的Memcached安裝目錄“/opt/memcached”,若生成的“bin”目錄中出現“memcached”可執行文件,説明編譯安裝完成
-
配置環境變量
a. 將以下命令添加至“/etc/profile”文件中
export PATH=/opt/memcached/bin/:$PATHb. 使環境變量生效
source /etc/profile
運行和驗證
-
使用命令啓動
memcached -t 24 -p 11211 -u root -m 49152 -c 10240啓動命令參數説明如下表所示。
| 命令參數 | 説明 | 默認值 |
|---|---|---|
| -t | 線程數。 | 4 |
| -p | 監測的TCP端口。 | 11211 |
| -u | 指定用户啓動。 | 默認不能用root用户啓動進程 |
| -m | 分配給Memcached的內存大小。單位:MB。 | 64M |
| -c | 最大併發連接數。 | 1024 |
| -d | 後台啓動一個守護進程。 | - |
-
另外啓動一個Shell窗口,連接到Memcached
telnet 127.0.0.1 11211 -
創建連接之後,可使用stats命令獲取到Memcached服務端的統計信息
stats
常用的stats命令如下表所示。
| 命令 | 功能 |
|---|---|
| stats | 顯示Memcached總體狀態信息,包括啓動時間、存儲數據量、緩存命中率、當前連接數等。 |
| stats items | 輸出各個slab中item的信息。 |
| stats slabs | 輸出更詳細的slab信息。 |
| stats sizes | 顯示所有item的大小和個數。 |
| stats cachedump | 導出下的數據,是輸出個數,若傳入0則輸出該slab下所有數據。 |
| stats detail | 設置(on/off)或顯示(dump)詳細操作記錄,如get/set操作。 |
| flush_all | 使內存中所有item失效,該操作並不會暫停服務端,因為不會真正釋放內存空間,而是將現有item標記為失效狀態。 |
説明:
如需退出Telnet連接可執行quit命令。
quit
除Telnet連接Memcached服務獲取數據信息以外,源碼中還提供了一些工具腳本,可以直接使用,如memcached-tool,位於源碼中的scripts目錄下。
memcached-tool的使用方法如下表所示。
| 命令 | 功能 |
|---|---|
| ./memcached-tool localhost display | 顯示slabs信息 |
| ./memcached-tool 10.0.0.5:11211 display | 顯示slabs信息 |
| ./memcached-tool 10.0.0.5:11211 stats | 顯示Memcached統計信息 |
| ./memcached-tool 10.0.0.5:11211 settings | 顯示Memcached設置信息 |
| ./memcached-tool 10.0.0.5:11211 sizes | 顯示items的大小和個數 |
| ./memcached-tool 10.0.0.5:11211 dump [limit] | 導出緩存中的Keys和Values |
相關鏈接:
- openEuler官網:www.openeuler.org/
- OS遷移專區: https://www.openeuler.org/zh/...
- openEuler兼容性列表:https://www.openeuler.org/zh/...
- openEuler遷移指南:https://www.openeuler.org/zh/...