标签: ning

异步http客户端(ning)创建更多线程?

我正在使用ning async http客户端来实现非阻塞性的优点.做一个苹果对苹果测试(非阻塞与阻塞),我发现非阻塞版本正在提供更多的请求样本,但异步http客户端正在创建比其阻塞对应物更多的线程.这是预期还是我遗失的东西?

以下是压力测试的数字

Async Http Client
jMeter - 2 threads, 120 seconds, 1 sec ramp up
Peak threads : 270
Heap usage: 600mb
Peak cpu usage: 30%
Total samples: 18228

Blocking version
jMeter - 2 threads, 120 seconds, 1 sec ramp up
Peak threads: 118
heap usage: 260mb
cpu usage: 18%
total samples: 1472
Run Code Online (Sandbox Code Playgroud)

我正在创建一个连接线程池(重用它们)

AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder();
builder.setRequestTimeoutInMs(2000);
builder.setMaximumConnectionsPerHost(10);
builder.setMaximumConnectionsTotal(100);
client = new AsyncHttpClient(builder.build());
Run Code Online (Sandbox Code Playgroud)

这里有什么我想念的吗?我试着查看线程转储以查看创建线程的内容,但没有找到任何有用的东西.我敢打赌,生成的每个http连接都有一个线程,用于在异步http客户端的I/O完成时触发回调.

java asynchronous http ning

6
推荐指数
1
解决办法
8129
查看次数

如何等待所有请求完成

我正在AsyncHttpClient从命令行程序使用 ning。我需要等待所有请求结束,以便我可以安全地调用close()客户端。挑战在于我从该计划的许多不同部分提出了许多请求。onCompleted下面剥离了自己的代码,显示了我从另一个请求执行嵌套 HTTP 请求的场景:

final AsyncHttpClient asyncHttpClient = new AsyncHttpClient();

Future<Response> f1 = asyncHttpClient.prepareGet(url).execute(
    new AsyncCompletionHandler<Response>() {

        public Response onCompleted(Response response)
            throws Exception {

            //Make more HTTP calls
            Future f2 = asyncHttpClient.prepareGet(url).execute(...);

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

这只是示例代码。真实的代码更加复杂并且有更多的 HTTP 调用。close()在我呼叫客户之前确保所有呼叫都已完成的最佳方法是什么?

ning asynchttpclient

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

宁异步http客户端如何接受任何证书

我在此页面上看到如何做https

http://sonatype.github.com/async-http-client/ssl.html

但是,如果我只是想忽略并接受任何证书,因为在这种环境中,我现在不在乎中间的人,因为它处于隔离的环境中,而我正在做一些工作以对QA数据进行自动化测试,该怎么办?

也许我的问题是如何伪造Java的SSL堆栈中的SSL,以便它在另一端接受任何证书(这不是双向的,因为它是https)。

上面链接中客户端的通用代码是

    char[] keyStorePassword = "changeit".toCharArray();
    KeyStore ks = KeyStore.getInstance("JKS");
    //ks.load(keyStoreStream, keyStorePassword);

    char[] certificatePassword = "changeit".toCharArray();
    KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
    kmf.init(ks, certificatePassword);

    KeyManager[] keyManagers = kmf.getKeyManagers();
    javax.net.ssl.TrustManager tm = new MyTrustMgr();
    javax.net.ssl.TrustManager[] trustManagers = new javax.net.ssl.TrustManager[]{tm };
    SecureRandom secureRandom = new SecureRandom();

    SSLContext ctx = SSLContext.getInstance("TLS");
    ctx.init(keyManagers, trustManagers, secureRandom);
    return ctx;
Run Code Online (Sandbox Code Playgroud)

好吧,解决这个问题,我发现由于某些原因仍然无法解决问题

    X509TrustManager tm = new X509TrustManager() {
        public void checkClientTrusted(X509Certificate[] xcs,
                String string) throws CertificateException {
        }
        public void checkServerTrusted(X509Certificate[] xcs,
                String string) throws CertificateException { …
Run Code Online (Sandbox Code Playgroud)

ssl ning netty asynchttpclient

3
推荐指数
1
解决办法
2223
查看次数

如何创建像宁的网站?

如何创建像ning这样的网站?使用哪种编程语言对这样的网站进行编码?

我是网页设计的新手,我想得到来自这里的人或爱好者的一些帮助!

ning

-1
推荐指数
1
解决办法
451
查看次数

标签 统计

ning ×4

asynchttpclient ×2

asynchronous ×1

http ×1

java ×1

netty ×1

ssl ×1