当前位置: 首页 > 知识库问答 >
问题:

每秒请求的骆驼码头基准测试

柳奇思
2023-03-14

我正在构建一个高负载http服务,该服务每秒将消耗数千条消息,并将其传递给activemq之类的消息传递系统。

我目前有一个rest服务(非驼峰,非jetty),它接受来自http客户端的帖子并返回一个简单成功的响应,我可以使用apache ab对此进行负载测试。

我们还将camel-jetty视为输入endpoint,因为它具有actiemq的集成组件,并在需要时成为esb的一部分。在我开始构建从camel-jetty到actiemq的路由之前,我想测试camel-jetty可以支持的负载。我的码头唯一路由应该是什么样子,

我在考虑路线

自(“码头:http://0.0.0.0:8085/test“)。转换(常数(“a”);

并使用apache ab进行测试。我担心这条路线是否提供了真正的驼峰码头容量,因为转换可能会增加开销。或者它不会。

基于这些测试,我计划建立超文本传输协议-mq有或没有骆驼。

共有1个答案

唐修明
2023-03-14

转换API不会增加显着的开销......我刚刚对您的基本路由进行了测试......

ab -n 2000 -c 50 http://localhost:8085/test

得到了以下信息。。。

Concurrency Level:      50
Time taken for tests:   0.459 seconds
Complete requests:      2000
Failed requests:        0
Write errors:           0
Non-2xx responses:      2010
Total transferred:      2916510 bytes
HTML transferred:       2566770 bytes
Requests per second:    4353.85 [#/sec] (mean)
Time per request:       11.484 [ms] (mean)
Time per request:       0.230 [ms] (mean, across all concurrent requests)
Transfer rate:          6200.21 [Kbytes/sec] received
 类似资料:
  • 我是第一次使用Camel。我的试验项目是编写一个应用程序,该应用程序接收HTTP GET请求(使用Jetty)并通过Thrift将请求传递到另一台服务器。然后将收到的答案传递回客户端。(即,如果您愿意,我正在编写超文本传输协议-get请求和Thrift支持的服务器之间的数据交换机或中间件应用程序。) 我有一个完美的非驼峰版本,现在我正在尝试将驼峰等效物组合在一起。目前,我只想将jetty请求写入一

  • 我尝试了很多方法来使用camel gzip请求(在json中),我们使用camel调用rest web服务。 请求将在正文中,因为我们在POST请求中发送它 问候哈里

  • 我想在Camel环境中使用Jetty组件。这是我的spring配置的摘录。xml: 下面是用于返回字符串的代码: 本地地址有效(http://127.0.0.1/enc)但是浏览器没有正确显示字符串(显示为“abcÃö¼ÃŸ”–äääääŒääää‰)。我假设问题是一些编码。如何设置像“utf-8”这样的编码? 我在这里找不到任何提示(http://camel.apache.org/jetty.

  • 我对骆驼很陌生,如果这很明显,请原谅。 我们正在尝试设置一条骆驼路线(在 talend esb 中),它执行以下操作: < li >通过JMS接收消息 < li >数据库更新 < li >通过JMS使用请求/回复将消息发送到另一个系统 < li >使用回复中的信息进行另一次数据库更新 这一切都在一条路线上。我发现该路由不再接受 1 中的任何消息。当它正在等待 3 中的回复时。 我曾尝试在JMS组件

  • 我知道有一些方法可以捆绑应用程序并将其部署在Tomcat或Jetty中。但是,如果我这样做了,最大的问题就变成了如何与Restlet集成。 我做了进一步的挖掘。我举了骆驼附带的一个tomcat例子。然后我试着让它具有RESTLET功能。差不多管用了。现在的问题是参数没有传递到路由。我希望当调用这个服务器:http://x.x.x.x.x:8080/rs/user/?name=Paul时,我会得到:

  • 我使用以下路线: endpoint: 如果文件大小超过2 MB,则会发生以下异常:(Camel-Jetty超文本传输协议代理大响应数据原因问题:超出缓冲容量) 问题: 有没有办法避免这种缓冲问题?(可能使用另一个组件代替jetty?) 由于码头endpoint中的主体没有改变,我想知道是否有可能将主体直接“绕过”到下一个endpoint。