gpt4 book ai didi

memcached - JMeter - 使用 beanshell 通过 telnet 执行命令

转载 作者:行者123 更新时间:2023-12-04 18:25:41 24 4
gpt4 key购买 nike

我正在尝试在 beanshell 中编写一个 jmeter 采样器来执行 memcached telnet 接口(interface)命令,特别是 flush_all。我需要在每次测试后清除缓存,因为它会导致快速连续的测试失败。

我有以下代码:

import org.apache.commons.net.telnet.TelnetClient;

TelnetClient telnet = new TelnetClient();
telnet.connect( "memcachedServer.dev", 11211 );

//InputStream in = telnet.getInputStream();
PrintStream out = new PrintStream( telnet.getOutputStream() );

out.println("flush_all\r");
out.println("quit\r");

telnet.disconnect();

它似乎执行没有问题,但缓存没有被清除。我已经尝试过使用和不使用“\r”的代码,但两种方法都行不通。

有谁知道怎么了?

谢谢,
阿德里安

最佳答案

不使用 TCP Sampler 的任何原因?

  • 将 TCP 采样器添加到您的测试计划(您需要刷新缓存的地方)
  • 配置主机和端口
  • 将以下行放入“要发送的文本”区域:
    flush_all${CR}${LF}
    quit${CR}${LF}
  • 添加 Beanshell PreProcessor作为 TCP 采样器的子节点
  • 将以下代码放入 PreProcessor 的“脚本”区域:
    vars.put("LF",URLDecoder.decode("%0D", "ASCII"));
    vars.put("CR",URLDecoder.decode("%0A", "ASCII"));

  • How To Send Control Characters Using The JMeter TCP Sampler?指南以获取更多详细信息。

    关于memcached - JMeter - 使用 beanshell 通过 telnet 执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8403462/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com