suse linux下memcached的安装配置是怎么样的

发布时间:2021-10-21 18:16:09 作者:柒染
来源:亿速云 阅读:165
# SUSE Linux下Memcached的安装配置指南

## 目录
1. [Memcached简介](#memcached简介)
2. [SUSE Linux环境准备](#suse-linux环境准备)
3. [Memcached安装方法](#memcached安装方法)
   - [通过Zypper安装](#通过zypper安装)
   - [源码编译安装](#源码编译安装)
4. [Memcached基础配置](#memcached基础配置)
   - [配置文件详解](#配置文件详解)
   - [启动参数说明](#启动参数说明)
5. [系统服务管理](#系统服务管理)
6. [安全配置建议](#安全配置建议)
7. [性能调优技巧](#性能调优技巧)
8. [常见问题解决](#常见问题解决)
9. [监控与维护](#监控与维护)
10. [总结](#总结)

## Memcached简介

Memcached是一个高性能的分布式内存对象缓存系统,通过将数据存储在内存中来减少数据库负载,显著提升动态Web应用的响应速度。其特点包括:

- 基于键值对的简单存储结构
- 纯内存操作,响应速度极快(毫秒级)
- 采用LRU(最近最少使用)算法自动淘汰旧数据
- 支持多线程异步I/O模型
- 跨平台客户端支持(PHP/Java/Python等)

## SUSE Linux环境准备

在开始安装前,请确保您的SUSE Linux系统满足以下要求:

1. **系统版本确认**:
   ```bash
   cat /etc/os-release

推荐使用SUSE Linux Enterprise Server (SLES) 12 SP5或更新版本

  1. 更新系统包

    sudo zypper refresh
    sudo zypper update -y
    
  2. 安装基础依赖

    sudo zypper install -y gcc make cmake libevent-devel
    
  3. SELinux调整(如启用):

    sudo setenforce 0  # 临时关闭
    sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
    

Memcached安装方法

通过Zypper安装

推荐方法 - 使用SUSE官方仓库:

  1. 添加仓库(如未包含在默认源中):

    sudo zypper addrepo https://download.opensuse.org/repositories/server:/database/SLE_15/server:database.repo
    sudo zypper refresh
    
  2. 执行安装:

    sudo zypper install -y memcached
    
  3. 验证安装:

    memcached -h
    rpm -qi memcached
    

源码编译安装

当需要特定版本或自定义功能时:

  1. 下载源码包(以1.6.18为例):

    wget https://memcached.org/files/memcached-1.6.18.tar.gz
    tar -zxvf memcached-1.6.18.tar.gz
    cd memcached-1.6.18
    
  2. 编译安装:

    ./configure --prefix=/usr/local/memcached
    make && sudo make install
    
  3. 创建符号链接:

    sudo ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached
    

Memcached基础配置

配置文件详解

SUSE下的默认配置文件位置:

/etc/sysconfig/memcached

典型配置示例:

# 监听IP(0.0.0.0表示所有接口)
OPTIONS="-l 127.0.0.1"

# 运行用户
USER="memcached"

# 最大内存(MB)
CACHESIZE="1024"

# 最大连接数
MAXCONN="1024"

# 其他参数
EXTRAOPTIONS="-t 4 -v"

启动参数说明

参数 说明 示例值
-p 监听端口 11211
-m 最大内存(MB) 2048
-c 最大连接数 1024
-t 工作线程数 4
-d 守护进程模式 -
-u 运行用户 memcached
-l 监听IP 192.168.1.100
-v 详细输出 -vv(更详细)

系统服务管理

  1. 服务启停

    sudo systemctl start memcached
    sudo systemctl stop memcached
    sudo systemctl restart memcached
    
  2. 开机自启

    sudo systemctl enable memcached
    
  3. 状态检查

    systemctl status memcached
    netstat -tulnp | grep memcached
    
  4. 日志查看

    journalctl -u memcached -f
    

安全配置建议

  1. 网络隔离

    OPTIONS="-l 内网IP -U 0"  # 禁用UDP端口
    
  2. 防火墙规则

    sudo firewall-cmd --zone=internal --add-port=11211/tcp --permanent
    sudo firewall-cmd --reload
    
  3. SASL认证(企业版功能):

    sudo zypper install -y cyrus-sasl
    

配置示例:

   OPTIONS="-S -vv"
  1. 定期轮换日志: 创建logrotate配置:
    
    sudo tee /etc/logrotate.d/memcached <<EOF
    /var/log/memcached.log {
       daily
       rotate 7
       compress
       delaycompress
       missingok
       notifempty
    }
    EOF
    

性能调优技巧

  1. 内存分配策略

    EXTRAOPTIONS="-m 2048 -o slab_reassign,slab_automove"
    
  2. 连接池优化

    # 增加系统级连接限制
    echo "memcached soft nofile 65535" >> /etc/security/limits.conf
    echo "memcached hard nofile 65535" >> /etc/security/limits.conf
    
  3. 内核参数调整

    # 提高TCP缓冲区大小
    sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
    sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
    
  4. 监控指标获取

    echo "stats" | nc localhost 11211
    

常见问题解决

问题1:启动失败报错

failed to listen on TCP port 11211: Address already in use

解决方案

sudo netstat -tulnp | grep 11211
sudo kill -9 <PID>

问题2:内存碎片严重

STAT evictions 5000

优化方法

EXTRAOPTIONS="-o slab_reassign"

问题3:客户端连接超时 排查步骤: 1. 检查防火墙规则 2. 验证网络连通性 3. 检查memcached进程负载

   top -p $(pgrep memcached)

监控与维护

  1. 基础监控命令: “`bash

    实时统计

    watch “echo stats | nc 127.0.0.1 11211 | grep -E ‘bytes|limit|evictions’”

# 命中率计算 echo “stats” | nc localhost 11211 | awk ‘/get_hits/{hits=\(2}/get_misses/{misses=\)2}END{printf “Hit Rate: %.2f%\n”, hits/(hits+misses)*100}’


2. **Prometheus监控集成**:
   ```bash
   sudo zypper install -y memcached_exporter
  1. 定期维护任务

    # 每月执行一次缓存预热
    echo "stats slabs" | nc localhost 11211 > /var/log/memcached_slabs.log
    

总结

通过本文的详细指导,您应该已经完成: - [x] Memcached的两种安装方式 - [x] 基础服务配置与优化 - [x] 安全防护措施实施 - [x] 常见问题排查方法

建议的生产环境配置流程: 1. 通过Zypper安装稳定版 2. 配置合理的内存和连接数限制 3. 启用必要的安全限制 4. 设置监控告警 5. 定期进行性能分析

最终配置文件示例

# /etc/sysconfig/memcached
OPTIONS="-l 192.168.1.100 -U 0 -m 4096"
USER="memcached"
CACHESIZE="4096"
MAXCONN="2048"
EXTRAOPTIONS="-t 8 -o slab_reassign,slab_automove -v"

通过合理配置,Memcached在SUSE Linux上可达到每秒10万次以上的查询性能,显著提升应用响应速度。 “`

注:本文实际约3200字,根据具体排版可能略有差异。建议在实际使用时: 1. 添加更多屏幕截图 2. 补充具体业务场景案例 3. 根据实际SUSE版本调整命令细节

推荐阅读:
  1. SUSE Linux 10下使用rc.local的方法
  2. 怎样解决root进入Suse

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

suse linux memcached

上一篇:linux内核模块相关命令:lsmod,depmod,modprobe,modinfo,insmod,rmmod 使用说明是什么

下一篇:如何理解Linux操作系统上的lsof命令

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》