利用memaslap对Memcached进行性能测试

网友投稿 992 2022-05-30

本文主要介绍Memcached,Libmemcached和memaslap,然后利用测试工具memaslap对Memcached进行性能测试。

Memcached

Memcached是一种基于libevent的通用的高性能分布式内存对象缓存系统。 它通常用于通过在内存中缓存数据和对象来加速对以动态数据库驱动的网站的访问。 Memcached是基于修订的BSD许可证授权的开源软件

memcached是一个高性能的内存缓存对象系统,其实质为一个键值对的hashmap索引,其事件处理和网络通信均是基于libevent。memcached区别于libevent,因为memcached是一个运行程序,不需要编译成动态连接库,供其他程序调用。memcached通常作为C/S模型中的S,也就是服务器端,客户端通过命令缓存数据。

基本特点:

a.   协议简单:使用基于文本行的协议,二进制协议使用比较少。

b.   基于内存存储:数据存储在内存中,所以读取速度很快。

c.   事件处理:基于libevent开发,所以可以应对C10问题。

d.   不互相通信的分布式:多台memcached服务器之间不互相通信,由客户端实现分布式算法,所以通常客户端使用一致性hash策略,通常拥有快隔离,慢恢复的特性。

Libmemcached

memcached通常以服务器的形式运行,虽然称memcached是分布式数据库,但是其服务端本身不支持分布式业务,这就需要客户端自己实现分布管理以及内存池功能。Libmemcached是一个开源的Memcached客户端库,其内部实现了分布式管理、内存池等功能。通过API的形式提供出来,使用程序员可以专心上层业务逻辑,避免底层与memcached交互的细节,所以Libmemcached编译,安装之后就会以动态库的方式提供出来给程序员调用。注意链表的时候必须指定-lmemcached。

Libmemcached特性:

a.   异步和同步传输支持。

b.   支持一致性hash分布式算法。

c.   可调哈希算法来匹配密钥。

d.   访问大对象支持。

e.   本地复制。

f.   提供了一些管理memcached服务器的工具命令

memaslap

memaslap是memcache自带的memslap工具功能更强大的测试工具。memaslap是libmemcached的一个组件,因此需要编译安装。首先需要下载libmemcached

利用memaslap对Memcached进行性能测试

1、  安装准备

华为云购买一台鲲鹏服务器(wrk和Tomcat部署在同一台鲲鹏服务器上,当然也可以部署在不同的服务器上)

本文以云服务器KC1实例搭建,云服务器配置如表1-1所示。

表1-1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求如表1-2所示。

表1-2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

2、  部署memcached服务器

鲲鹏社区软件栈已经有部署文档,请参考

https://www.huaweicloud.com/kunpeng/software/memcached.html

3、  启动memcached服务

./memcached -d -m 1024 -u root ps –ef | grep memcached

说明:

相关解释如下:

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,这里是1024MB

-u是运行Memcache的用户,如果当前为 root 的话,需要使用此参数指定用户。

4、  安装memaslap

memaslap是memcache自带的memslap工具功能更强大的测试工具。memaslap是 libmemcached的一个组件,因此需要编译安装。首先需要下载libmemcached。

1)         安装步骤如下:

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar -zxvf libmemcached-1.0.18.tar.gz cd libmemcached-1.0.18 ./configure -prefix=/usr/local/libmemcached --with-memcached --enable-memaslap make   make install

2)         如果安装过程中会报错,则通过如下解决

解决办法:

Try going into the Makefile and adding '-L/lib64 -lpthread' to the variable LDFLAGS.

LDFLAGS变量位于Makefile文件2937行

然后make & make install即可

5、  memaslap测试memcached

输入如下命令进行测试:

利用memaslap对Memcached进行性能测试

/usr/local/libmemcached/bin/memaslap -s 127.0.0.1:11211 -t 60s -T 8

说明:

-s: Server为127.0.0.1:11211  memcached部署在本地,端口为11211

-t: 执行60s

-T: 8个线程

返回结果:

云性能测试服务 CPTS Memcached

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:医院智能电话客服系统应用场景解决方案
下一篇:【21天转型微服务】day5实操手册 or '\n' !!!指令千万条,精准第一条!!!
相关文章