在一包含业务的大数据量测试过程中,需要使用快速、大容量的数据库。

可考虑的有关系型数据库或键值缓存数据库,建立集群。 LoadRunner操作Mysql实例:C语言篇已完成。

今日来尝试在LoadRunner里操作Memcached,使用Libmemcached。

首先下载源码:‍http://svn.coderepos.org/share/lang/c/libmemcached-win32

然后按照说明进行编译,源码里还有测试代码和示例代码。编译方法有三种:

一、使用‍mingw32进行编译,打开‍ Visual Studio Command Prompt:

‍    ‍    cd libmemcached-latest\libmemcached
‍    ‍    mingw32-make -f Makefile.w32

‍    ‍    cd ..\cilents
‍    ‍    mingw32-make -f Makefile.w32

‍    ‍    cd ..\..\example
‍    ‍    mingw32-make -f Makefile.w32


    二、使用Visual Studio 2005或更高版本执行编译:
‍    ‍    libmemcached-latest\visualc\libmemcached.sln
三、使用nmake进行编译,‍打开‍ Visual Studio Command Prompt:
‍    ‍    cd libmemcached-latest\libmemcached
‍    ‍    nmake -f Makefile.msc

‍‍    ‍    cd ..\cilents
‍    ‍    nmake -f Makefile.msc

‍    ‍    cd ..\..\example
‍‍    ‍    nmake -f Makefile.msc

编译过程将生成memcached.dll,供LoadRunner扩展调用。如下图:

源码:

#define SERVER_NAME "192.168.223.106"
#define SERVER_PORT 11211
Action(){ //先加载libmemcached.dll
    int memc;
    int rc;
    int value_length=0;
    intf lags=0;
    int result;
    long int num;
    char* key="name";
    char* value="higkoo";
    char* discription="Performance";

memc=memcached_create(NULL);
    rc=memcached_server_add(memc,SERVER_NAME,SERVER_PORT);
    lr_output_message("server add: %s\n",memcached_strerror(memc,rc));

rc=memcached_set(memc,key,strlen(key),value,strlen(value),0,0);
     lr_output_message("set '%s' to '%s': %s\n",key,value,memcached_strerror(memc,rc));

result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get '%s': %s\n",key,memcached_strerror(memc,rc));
    lr_output_message("%s = %s\n",key,result);

rc=memcached_behavior_set(memc,0,1);
    lr_output_message("behavior set to non-block: %s\n",memcached_strerror(memc,rc));

result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get '%s': %s\n",key,memcached_strerror(memc,rc));
    lr_output_message("%s = %s\n",key,value);

rc=memcached_set(memc,key,strlen(key),discription,strlen(discription),0,0);
    lr_output_message("set '%s' to '%s': %s\n",key,discription,memcached_strerror(memc,rc));

rc=memcached_increment(memc,key,strlen(key),1,&num);
    lr_output_message("incr '%s': %s\n",key,memcached_strerror(memc,rc));
    rc=memcached_increment(memc,key,strlen(key),1,&num);
    lr_output_message("incr '%s': %s\n",key,memcached_strerror(memc,rc));
    rc=memcached_increment(memc,key,strlen(key),1,&num);
    lr_output_message("incr '%s': %s\n",key,memcached_strerror(memc,rc));
    rc=memcached_decrement(memc,key,strlen(key),1,&num);
    lr_output_message("decr '%s': %s\n",key,memcached_strerror(memc,rc));

result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get '%s': %s\n",key,memcached_strerror(memc,rc));
    lr_output_message("test = %s\n",value);

rc=memcached_delete(memc,key,strlen(key),0);
    lr_output_message("delete '%s': %s\n",key,memcached_strerror(memc,rc));

result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get(was deleted) '%s': %s\n",key,memcached_strerror(memc,rc));

memcached_free(memc);
}

...

转载于:https://www.cnblogs.com/mike442144/archive/2011/05/04/2036841.html

【转】LoadRunner使用Libmemcached与Memcached通讯相关推荐

  1. php pecl memcached,php – 安装PECL Memcached错误

    我按照以下步骤在我的Centos Server中安装PECL memcached,总是出错. 第一.安装libmemcached cd /opt wget http://launchpad.net/l ...

  2. Memcached安装及配置

    一.Memcached介绍 1.Memcached是国外社区网站LiveJournal团队开发,通过缓存数据库查询结果,减少数据库访问次数,从而提高动态web站点性能. 2.官方站点http://me ...

  3. 压力测试及缓存服务器

    第一篇 WEB压力测试 一.常用工具 常用压力测试工具:ab,httpd_load,webbench,seige. 仅仅作为测试使用,与实际能力区别也挺大的. 比较好的测试工具:惠普公司的loadru ...

  4. java开发一年多少钱_4年Java程序员:月薪不过3万,就不要拿命换钱了

    TIOBE 公布 2020 年 9 月的编程语言排行榜:Java占有率继续下降,从上个月的14.43%降到13.48%,同比下降3.18%. 在Java的学习群里,问到大家工作3-5年的瓶颈,回答基本 ...

  5. 缓存中间件-mac下Memcache 安装

    1.美图 2. 安装 Homebrew 安装 Homebrew 3.安装 memcached 安装前,可以先查找一下,看看有没有: base) lcc@lcc github$ brew search ...

  6. mac php memcache扩展,Mac下PHP安装Memcache扩展

    1.如果需要使用本地Memcache服务器,则应在本地安装Memcache服务器,即memcached (1)查找有没有memcached $ brew search memcache 返回结果: l ...

  7. 谈一谈网络编程学习经验(陈硕)

    作者:陈硕  原文地址:http://blog.csdn.net/solstice/article/details/6527585 本文谈一谈我在学习网络编程方面的一些个人经验."网络编程& ...

  8. [转]Mysql的HandlerSocket插件

    ================================================================= 转自:http://blog.csdn.net/heiyeshuwu ...

  9. java 耗时 框架_真真香!耗时大半个月收整全套「Java架构进阶pdf」没白费

    2020年的"金九银十"就这么来了,也到了该发福利的阶段了,花了我大半个月时间收整了全套的「Java架构进阶pdf」,这一波下来,刷完你就会知道,真真香啊,我的心血果然,没白费! ...

  10. 谈一谈网络编程学习经验

    转自  陈硕 giantchen@gmail.com blog.csdn.net/Solstice 2011-06-06 PDF 版下载:https://github.com/downloads/ch ...

最新文章

  1. 在CentOS 6.9 x86_64上安装redis 4.0.6
  2. Oracle 跨resetlogs的恢复
  3. AI和大数据下,前端技术将如何发展?
  4. 机器视觉支架制作(带效果测试)
  5. ldconfig和ldd用法
  6. 【java基础知识】java.util.LinkedHashMap cannot be cast to com.XXX.XXX
  7. PYTHON学习0011:enumerate()函数的用法----2019-6-8
  8. mysql applicationcontext.xml_配置applicationcontext.xml文件
  9. 12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例
  10. vue实现播放rtmp直播视频流
  11. cadvisor没有采集到容器信息解决方案
  12. 生命的火花盛开与如幻如梦
  13. 在触屏设备上面利用html5裁剪图片(转)
  14. devise安装使用指南
  15. 胖虎技术群Java后端的良师
  16. iOS热更新解读(三)—— JSPatch 之于 Swift
  17. 泰迪杯论文B题(特等奖)
  18. HP小型机的信息的命令集
  19. Win10与Ubuntu双系统设置开机启动项
  20. excel转json操作

热门文章

  1. Leetcode130. 被围绕的区域(深搜)
  2. 四、Linux常用命令——文件搜索命令
  3. IntelliJ IDEA Maven配置 MAC系统
  4. 给Ubuntu 13.04换源 软件源、更新源
  5. Android Studio 下载 与 安装 详细步骤
  6. 阶段3 2.Spring_06.Spring的新注解_8 spring整合junit完成
  7. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_15_注解_自定义注解_属性定义...
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_11_Thread类的常用方法_sleep...
  9. 学习用MaxScipt批处理Max文件
  10. win10远程桌面配置