博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http性能测试
阅读量:5167 次
发布时间:2019-06-13

本文共 2263 字,大约阅读时间需要 7 分钟。

http client和http pool都是在局域网向一台tomcat发送

1:http client

public static String callPostJson(String url, String json) {
HttpClient client = new HttpClient(); client.getParams().setContentCharset("utf-8"); client.getHttpConnectionManager().getParams().setSoTimeout(timeout); PostMethod post = new PostMethod(url); String result = StringUtils.EMPTY; try {
RequestEntity entity = new StringRequestEntity(json,"application/json","UTF-8"); post.setRequestEntity(entity); post.setRequestHeader("Content-Type","application/json;charset=UTF-8"); client.executeMethod(post); result = post.getResponseBodyAsString(); } catch (SocketTimeoutException se) {
logger.error(se.getMessage(), se); throw new ServiceException("connection.timeout"); } catch (Exception ex) {
logger.error(ex.getMessage(), ex); return "{\"success\":\"false\",\"msg\":\"" + ex.getMessage() + "\"}"; } finally {
post.releaseConnection(); } return result; }
测试结果;5000条耗时43秒 2:http pool client工厂
private static CloseableHttpClient httpClient; private static PoolingHttpClientConnectionManager cm; static {
cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(500); cm.setDefaultMaxPerRoute(50); final RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(10000).setConnectTimeout(1000).setConnectionRequestTimeout(500).build(); httpClient = HttpClients.custom().setConnectionManager(cm).setDefaultRequestConfig(requestConfig).build(); } public static CloseableHttpClient getHttpClient() {
return httpClient; } http工具类
public static void callPostJson(String url, String param) {
CloseableHttpClient httpClient = HttpPoolFactory.getHttpClient(); HttpPost post = new HttpPost(url); try {
StringEntity s = new StringEntity(param); s.setContentEncoding("UTF-8"); s.setContentType("application/json");//发送json数据需要设置contentType post.setEntity(s); httpClient.execute(post); } catch (Exception e) {
logger.error(e.getMessage(), e); } finally {
post.releaseConnection(); } }
测试结果;5000条耗时21秒
 
 

转载于:https://www.cnblogs.com/richard713/p/9605583.html

你可能感兴趣的文章
九度0J 1374 所有员工年龄排序
查看>>
微信小程序图片使用示例
查看>>
Ubuntu16.04+cuda8.0rc+opencv3.1.0+caffe+Theano+torch7搭建教程
查看>>
1.开发准备
查看>>
centos su命令
查看>>
CLR:基元类型、引用类型和值类型
查看>>
dubbo序列化hibernate.LazyInitializationException could not initialize proxy - no Session懒加载异常的解决...
查看>>
jQuery中的事件绑定的几种方式
查看>>
泥塑课
查看>>
iOS 自定义的对象类型的解档和归档
查看>>
setImageBitmap和setImageResource
查看>>
springMVC4 注解配置实例
查看>>
单片机编程
查看>>
Filter in Servlet
查看>>
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>