小编bag*_*gui的帖子

使用aws java sdk来获取计费信息

我正在尝试使用java api从aws获取ec2实例,s3存储桶和ebs卷的计费信息.我想创建api,它提供特定的实体明智的每小时结算报告.是否有任何java api获得相同的?我在aws java sdk api文档中找不到相同的内容.

amazon-ec2 amazon-web-services aws-sdk

8
推荐指数
3
解决办法
6938
查看次数

elasticsearch QueryBuilder在术语查询中具有动态列表值

我有一个像下面的代码,我在bool查询中必须做多个.在这里,我在字段"地址"中传递必须的术语查询.现在ip地址将作为来自其他api的列表来找我,我必须传递列表中的所有ip作为必须条款查询.在这里,我没有办法在创建QueryBuilder时动态传递地址值.

请建议如何做到这一点.

public static SearchResponse searchResultWithAggregation(String es_index,
        String es_type, List<String> ipList, String queryRangeTime) {
        Client client = ESClientFactory.getInstance();

    QueryBuilder qb = QueryBuilders.boolQuery()
            .must(QueryBuilders.termQuery("address", "10.203.238.138"))
            .must(QueryBuilders.termQuery("address", "10.203.238.137"))
            .must(QueryBuilders.termQuery("address", "10.203.238.136"))
            .mustNot(QueryBuilders.termQuery("address", "10.203.238.140"))
            .should(QueryBuilders.termQuery("client", ""));

    queryRangeTime = "now-" + queryRangeTime + "m";
    FilterBuilder fb = FilterBuilders.rangeFilter("@timestamp")
            .from(queryRangeTime).to("now");

    SearchResponse response = client
            .prepareSearch(es_index)
            .setTypes(es_type)
            .setQuery(qb)
            .setPostFilter(fb)
            .addAggregation(
                    AggregationBuilders.avg("cpu_average").field("value"))
            .setSize(10).execute().actionGet();

    System.out.println(response.toString());
    return response;
}
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

7
推荐指数
1
解决办法
2万
查看次数

为ElasticSearch测试用例创建虚拟SearchResponse实例

我正在尝试通过手动将值传递给构造函数来创建一个虚拟的SearchResponse对象.我有一个JUnit测试类,我正在使用这个虚拟值来模拟实际的方法调用.尝试使用以下方法

public SearchResponse actionGet() throws ElasticsearchException {
    ShardSearchFailure[] shardFailures = new ShardSearchFailure[0];
    int docId = 0;
    String id = "5YmRf-6OTvelt29V5dphmw";
    Map<String, SearchHitField> fields = null;

    InternalSearchHit internalSearchHit = new InternalSearchHit(docId, id,
            null, fields);
    InternalSearchHit[] internalSearchHit1 = { internalSearchHit };

    InternalSearchResponse EMPTY = new InternalSearchResponse(
            new InternalSearchHits(internalSearchHit1, 0, 0), null, null,
            null, false);
    SearchResponse searchResponse = new SearchResponse(EMPTY, "scrollId",
            1, 1, 1000, shardFailures);
    return searchResponse;
}
Run Code Online (Sandbox Code Playgroud)

这是我直接查询elasticsearch时json的实际值.

{
  "took": 3,
  "timed_out": false,
  "_shards": {
    "total": 3,
    "successful": 3,
    "failed": 0
  }, …
Run Code Online (Sandbox Code Playgroud)

java junit json elasticsearch elasticsearch-java-api

7
推荐指数
1
解决办法
5372
查看次数

在elasticsearch中创建TransportClient时限制ThreadPool中的线程数

我正在elasticsearch中创建一个TransportClient实例.下面是相同的代码.问题是我正在尝试降低使用TransportClient启动的线程池生成的线程数.但是我使用弹性搜索的设置总是用12个线程初始化线程池.请让我知道如何配置相同以获得所需的线程.

public static TransportClient getTransportClient(String ip, int port) {

    ImmutableSettings.Builder settings = ImmutableSettings
            .settingsBuilder();
    settings.put("cluster.name", "elasticsearch");
    settings.put("threadpool.bulk.type",  "fixed");
    settings.put("threadpool.bulk.size" ,5);
    settings.put("threadpool.bulk.queue_size", 5);
    settings.put("threadpool.index.type" , "fixed");
    settings.put("threadpool.index.size" , 5);
    settings.put("threadpool.index.queue_size" , 10);
    settings.put("threadpool.search.type",  "fixed");
    settings.put("threadpool.search.size" ,5);
    settings.put("threadpool.search.queue_size", 5);

    settings.build();

    TransportClient instance = new TransportClient(settings)
            .addTransportAddress(new InetSocketTransportAddress(ip, port));

    return instance;
}
Run Code Online (Sandbox Code Playgroud)

java multithreading elasticsearch

7
推荐指数
1
解决办法
2201
查看次数

如何在jmeter中为每个线程发送唯一数据

我正在使用jmeter测试我的REST API为10000点击,其中每个http命中将在DB中存储一些数据.我遵循了以下测试计划

在此输入图像描述

我正在并行运行10个线程,每个加速时间为20秒,并且循环1000以实现相同的效果.

在此输入图像描述

但这里的问题是我的线程没有采取独特的数据集.而我的后端HTTP URL期望每个http匹配的唯一字符串.

现在我尝试了以下方法.

  1. 单个CSV数据集配置具有10000个唯一值,并且线程组中的所有线程都在读取相同的数据.

  2. 为每个线程设置不同的CSV数据,并使用文件名$ {__ threadNum} .csv为线程分配csv文件

  3. 使用jmeter _RandomString方法在运行时为每个http命中生成随机字符串,在http post body中我正在传递

{"tenantName":"$ { __ RandandString(15,abcdefghijklmnofqrst1234567#@#%^&*,)}"}

  1. 使用BeanShell预处理器调用java方法并始终生成唯一模式获取HTTP请求采样器.

现在上述方法都不适合我.在一段时间后运行测试计划时,2个线程正在尝试使用相同的数据并点击我的HTTP URL.我从http响应中收到冲突错误.我的错误计数不断增加.

现在我真的不明白这两个人试图用同样的数据打击http怎么样?

有人可以解释一下这个问题并帮我设置正确的测试计划配置.

编辑:

所有线程的CSV数据集配置:

在此输入图像描述

HTTP请求:

在此输入图像描述


使用CSV数据集添加测试计划:

在此输入图像描述

java multithreading jmeter load-testing

5
推荐指数
1
解决办法
1万
查看次数

如何使用 spring mvc 在 REST POST 方法中传递 List&lt;&gt;

我正在尝试使用 spring mvc 在 REST post 方法的请求正文中传递类似值的列表。下面是我的示例代码。请让我知道在 requestbody 中发送列表的正确方法是什么。

@RequestMapping(value = "/userlogin/details", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<String> insertLoginDetails(
        @RequestParam("username") String userName,
        @RequestBody List<String> listOfID) {
    return eventAnalyzerHelper.insertUserLoginDetails(userName,
            listOfID);
}
Run Code Online (Sandbox Code Playgroud)

谢谢

java rest spring spring-mvc

4
推荐指数
1
解决办法
2万
查看次数