• [技术干货] web场景- Memcached调优
    1.1 Memcached简介Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款高性能的分布式内存缓存服务器,通常的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。官方链接:https://memcached.org/1.2 Memcached物理机调优方法1.2.1 Memcached亲和性设置目的:设置memcached服务的亲和性,使用numactl设置CPU与内存的亲和性。提升服务器性能方法:步骤 1 安装numactl            yum -y install numactl步骤 2 编辑/usr/lib/systemd/system/memcached.service            添加如下内容ExecStart=/usr/bin/numactl --cpunodebind=0,1 --membind=0,1 /opt/memcached/bin/memcached -t 48 -p 11211 -u root -m 122880 -c 100000命令参数说明参数名称参数说明cpunodebind=nodes进程绑定CPU,其中0,1表示绑定node0和node1的core--membind=nodes分配进程的内存,其中0,1表示分配的内存在node0和node1上-t <num>使用的线程数(48表示使用48个线程)-p <num>监听的TCP端口-u <username>设定进程所属用户。(只有root用户可以使用这个参数)-m <num>分配给memcached实例的内存大小,以MB为单位-c <num>最大并发连接数 1.3 Memcached虚拟机调优方法目的:修改kvm虚拟机配置文件:配置虚拟机的CPU、内存、网卡。方法:步骤 1  编辑虚拟机配置文件。             以虚拟机vm1为例,执行如下语句编辑虚拟机配置文件:            virsh edit vm1                    该命令为打开vm1的配置文件,后续步骤2-5均在此基础上完成,修改完成后执行 :wq 保存即可,配置文件需重启虚拟机生效,执行如下命令重启   虚拟机:     virsh shutdown vm1      virsh start vm1步骤 2 设置vcpu与物理cpu绑定。            设置vcpu与物理cpu绑定的脚本如下所示:      <vcpu placement='static' cpuset='0-3'>4</vcpu>      <cputune>      <vcpupin vcpu='0' cpuset='0'/>      <vcpupin vcpu='1' cpuset='1'/>      <vcpupin vcpu='2' cpuset='2'/>      <vcpupin vcpu='3' cpuset='3'/>      <emulatorpin cpuset='0-3'/></cputune>参数说明vcpu虚拟核cpuset物理核步骤 3 设置numa绑定。            设置numa绑定的脚本如下所示:        <numatune>        <memnode cellid='0' mode='strict' nodeset='0'/>        </numatune>        <cpu mode='host-passthrough' check='none'>        <topology sockets='1' cores='4' threads='1'/>        <numa>        <cell id='0' cpus='0-3' memory='12582912' unit='KiB'/>        </numa> </cpu> 参数说明nodeset物理机numa nodecellid虚拟机 numa node步骤 4 设置PCIe网卡直通。            设置PCIe网卡直通的脚本如下所示:      <hostdev mode='subsystem' type='pci' managed='yes'>      <source>      <address domain='0x0000' bus='0x82' slot='0x00' function='0x0'/>      </source></hostdev>其中"domain"、"bus"、"slot"和"function"是对应物理网卡的信息,可以执行lspci或者ethtool -i 网卡名 命令查看。              执行lspci,输出如下结果,只需关注最左侧的数字:        “82:00.0 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family (4*25GE) (rev 45)”        其中,网卡的bus-info是16进制数,由上述输出结果最开头的数字82:00.0可以看出,bus为0x82,slot为0x00,function为0x0,domain为0x0000。步骤 5 设置静态大页。宿主机配置静态大页。在kernel启动时的cmdline添加配置参数,即在/boot目录下的grub.cfg 文件添加如下设置:transparent_hugepage=never default_hugepagesz=1G hugepagesz=1G hugepages=200                配置1G的hugepage,需要当前宿主机页表大小为4K。 2.设置内存大页配置。        设置内存大页的脚本如下所示:    <memoryBacking>    <hugepages>    <page size=’ 1048576’ unit=’KiB’ nodeset=’0’/>    </hugepages></memoryBacking>
  • [中间件] 【华为云鲲鹏云服务最佳实践】【工具篇】第099期Memcached-1.5.10安装配置指南
    1、 简介Memcached是一套分布式的内存对象缓存系统,使用C语言编写,作为数据库的前端cache,缓存数据库查询结果能够减轻数据库负载。类似一张巨大的hash表,缓存的对象以key-value对的形式存在。2、基础环境类别子项版本获取地址(方法)华为云虚拟机KC1(920)--OSCentOS7.6Kernel4.14 软件包  memcached 1.5.10https://kojipkgs.fedoraproject.org//packages/memcached/1.5.10/2.fc30/src/memcached-1.5.10-2.fc30.src.rpm3、依赖安装yum install –y mock rpm-build4、组件依赖安装 下载并解压组件wget https://kojipkgs.fedoraproject.org//packages/memcached/1.5.10/2.fc30/src/memcached-1.5.10-2.fc30.src.rpm 安装源码包useradd -s /sbin/nologin mockbuildrpm -ivh memcached-1.5.10-2.fc30.src.rpm编译rpmbuild -ba /root/rpmbuild/SPECS/memcached.spec(多次执行,直到编译成功)安装依赖包yum install -y gcc libevent-devel perl-generators perl cyrus-sasl-devel selinux-policy-devel selinux-policy git去掉memcached.spec第39行的括号和if 修改memcached.spec中关于perl依赖包的 安装rpm -ivh RPMS/aarch64/* 启动停止服务service memcached startservice memcached statusservice memcached stop  5、系统配置无6、测试无7、参考信息无8、FQAQ:安装源码包报错   解决用户组的问题,因为在fedora编译的时候存在这个用户组A:yum install mock;useradd -s /sbin/nologin mockbuildQ:编译报错   A:去掉memcached.spec第39行的括号Q:编译报错            A:去掉memcached.spec第39行if   
  • KUNPENG平台Memcached1.5.12移植自动安装脚本
    1 Memcached简介Memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。memcached的API使用三十二比特的循环冗余校验(CRC-32)计算键值后,将数据分散在不同的机器上。当表格满了以后,接下来新增的数据会以LRU机制替换掉。由于memcached通常只是当作缓存系统使用,所以使用memcached的应用程序在写回较慢的系统时(像是后端的数据库)需要额外的代码更新memcached内的数据。  2 环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64href="https://www.centos.org/download/" https://www.centos.org/download/服务器配置16U16GB50GB软件Memcached1.5.12https://memcached.org/files/memcached-1.5.12.tar.gz3 软件移植3.1 环境准备:OS安装类型:CentOS-7.5-aarch64-1804。 注:操作系统安装使用最小简化版安装(如上图),其余步骤安装一般安装操作系统步骤即可。 3.1.1 相关软件下载上传:1、 上传CentOS 7.5系统ISO镜像文件至服务器2、 上传memcached-1.5.12.tar.gz源码包至服务器目录下,如/opt下载地址:https://memcached.org/files/memcached-1.5.12.tar.gz3.2 安装Memcached1、 安装Memcached上传附件脚本至要安装Memcached的服务器上的任意目录,如/opt。添加执行权限:chmod +x /opt/ memcached _install.sh执行脚本sh /opt/memcached _install.sh2、 提示memcached install success表示安装成功。     3.3 验证执行   4 参考信息https://www.huaweicloud.com/kunpeng/software.html
  • [中间件] 【华为云鲲鹏云服务最佳实践】【中间件篇】第002期 Memcached 1.4.15 安装配置指南
    1、简介      memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。      官方链接:https://memcached.org/       类别:服务器2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包memcached1.4.15 3、依赖安装无4、组件编译安装清除yumyum clean all下载服务器包到本地缓存yum makecache更新yum 包yum -y update   安装memcached服务端yum install -y memcached-devel.aarch645、系统配置无6、测试测试内容:memcached服务端是否正常启动systemctl start memcached.service测试结果:服务端正常运行7、参考信息官方文档:https://github.com/memcached/memcached/wiki/ProgrammingFAQ 8、FAQ无 
  • [交流分享] 【鲲鹏翱翔】应用中间件06-Memcached移植安装指南
    1.   简介Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。本指南描述了在ARM64,CentOS7.5环境下,移植Memcached1.4.20的过程,可供相关人士参考。2.   部署环境Packet NameVersionCentOSCentOS 7.5 with ARMMemcached3.6.31.4.203.   安装部署     3.1 依赖安装在系统中安装需要的组件,安装相应的库:yum  install libevent libevent-devel         3.2 安装Memcached方式一:yum 安装yum  install memcached方式二:源代码编译安装wget   http://www.memcached.org/files/memcached-1.4.20.tar.gz  #下载指定版本的安装包tar   -zxvf memcached-1.4.20.tar.gz   #解压源码cd   memcached-1.4.20./configure   --prefix=/usr/local/memcached  --build=arm-linux#执行configure,配置安装位置make   #编译make   install备注:所有版本安装包地址:https://github.com/memcached/memcached/wiki/ReleaseNotes     3.3 测试安装结束后执行命令启动Memcached#作为后台服务程序运行:/usr/local/memcached/bin/memcached   -p 11211 -m 64m -d telnet   127.0.0.1 11211   #执行memcached连接stats  #连接成功后执行stas命令     3.4 参考信息[1] Memcached教程:https://www.runoob.com/memcached/memcached-set-data.html[2] github地址:https://github.com/memcached/memcached/wiki/Install