当前位置: 首页 > news >正文

北京地产网站建设做网站运营难吗

北京地产网站建设,做网站运营难吗,广安建设局网站,宁波公司网络建设grep v grep因此#xff0c;您的分布式体系结构如下图所示#xff0c;您刚刚从企业那里收到了一项要求#xff0c;以确保生产者发送并随后传输到下游系统#xff08;消费者#xff09;的消息的SLA必须快且永远不会慢于此。 400毫秒。 要求说#xff1a; 从生产者发送到… grep v grep 因此您的分布式体系结构如下图所示您刚刚从企业那里收到了一项要求以确保生产者发送并随后传输到下游系统消费者的消息的SLA必须快且永远不会慢于此。 400毫秒。 要求说 从生产者发送到任何消费者的消息的延迟永远不应慢于400毫秒。 听起来很熟悉 对我而言经验告诉我如果将来我想保护SLA则还需要使测试自动化以免引入瓶颈从而增加消息的延迟。 但是该怎么做呢 生产者和使用者位于不同的机器中并且某些使用者不是用Java编写的。 另外在生产者和消费者之间有一个队列或Web服务或RMI或ESB或其他组件或其他任何东西因此测试起来并不容易。 好吧所有组件都以类似的方式写入日志那么为什么不将日志用作测试数据呢 例如这些是2个样本日志一个来自生产者发出消息id 1546366另一个来自接收消息的使用者之一id 1546366 生产者日志 2013-02-19 10:09:05,795 INFO [org.grep4j.demo.input.core.InputCoreMessageSender] (pool-19-thread-9) Input::MessageSender::Message(1546366) Sent Successfully 消费者日志 2013-02-19 10:09:06,161 INFO [org.grep4j.demo.handler.bean.mdb.SingleDestPacketHandler] (Thread-62314 (HornetQ-client-global-threads-989457197)) Handler::Packet::Message(1546366) Received::PacketId(982336426)::State(NORMAL)::Dest(CONSUMER4, 1)::DataLevel(EVENT, 7)::Op(CREATE, C)::GlobalId(1546366)::Priority(1)::Src(GUI, 1::Ids(EventId1546366,SFBId1546366,isBirTypefalse,inBirfalse)) 这就是我使用Grep4j进行自动性能测试的样子 package com.gdg.grep4j.demo; import static com.gdg.grep4j.demo.profiles.Profiles.consumer1; import static com.gdg.grep4j.demo.profiles.Profiles.consumer2; import static com.gdg.grep4j.demo.profiles.Profiles.consumer3; import static com.gdg.grep4j.demo.profiles.Profiles.producer; import static com.gdg.grep4j.demo.services.TimeService.extractTime; import static org.grep4j.core.Grep4j.constantExpression; import static org.grep4j.core.Grep4j.grep; import static org.grep4j.core.fluent.Dictionary.on; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.number.OrderingComparison.lessThan; import static org.junit.Assert.assertThat; import org.grep4j.core.result.GrepResults; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; Test public class MessageDistributionPerformanceTest {private static final long MAX_ACCETABLE_LATENCY 400L;private long producerTime 0;private GrepResults consumersResults;BeforeTestpublic void triggerMessageDispatcher() {System.out.println(Producing and firing a Message(1546366) to downstream systems...);}BeforeTestpublic void extractProducerTime() {GrepResults producerResult grep(constantExpression(Message(1546366) Sent Successfully), on(producer));producerTime extractTime(producerResult.toString());}BeforeTestpublic void grepConsumerLogs() {consumersResults grep(constantExpression(Message(1546366) Received),on(consumer1, consumer2, consumer3));}public void testConsumer1Latency() {long consumer1Time extractTime(consumersResults.filterOnProfile(consumer1).toString());assertThat((consumer1Time - producerTime),is(lessThan(MAX_ACCETABLE_LATENCY)));}public void testConsumer2Latency() {long consumer2Time extractTime(consumersResults.filterOnProfile(consumer2).toString());assertThat((consumer2Time - producerTime),is(lessThan(MAX_ACCETABLE_LATENCY)));}public void testConsumer3Latency() {long consumer3Time extractTime(consumersResults.filterOnProfile(consumer3).toString());assertThat((consumer3Time - producerTime),is(lessThan(MAX_ACCETABLE_LATENCY)));} } 概要文件是grep目标上下文在我的情况下所有概要文件都是远程计算机有关概要文件的更多信息请参见Grep4j page 。 TimeService只是一个简单的服务类用于提取日志中的时间。 package com.gdg.grep4j.demo.services; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TimeService {private static final Pattern timePattern Pattern.compile(([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9]) ([0-9][0-9]|2[0-3]):([0-9][0-9]):([0-9][0-9]),([0-9][0-9][0-9]));public static long extractTime(String text) {Matcher lm timePattern.matcher(text);if (lm.find()) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss,SSS);sdf.setTimeZone(TimeZone.getTimeZone(UTC));String inputString lm.group();Date date null;try {date sdf.parse(inputString);} catch (ParseException e) {e.printStackTrace();}return date.getTime();} else {throw new IllegalArgumentException(timePattern not found);}} } 在几行简单的代码中我进行了非常灵活的测试我可以测试日志中生成的任何内容。 对于完整的代码 https : //github.com/marcocast/grep4j-gdg.git 参考通过我们的JCG合作伙伴 Marco Castigliego的grep4j 可以在“ 删除重复和修复不良名称”博客上使用grep4j轻松测试分布式组件上的SLA 。 翻译自: https://www.javacodegeeks.com/2013/02/easy-testing-slas-on-distributed-components-with-grep4j.htmlgrep v grep
http://www.pierceye.com/news/464747/

相关文章:

  • 做自行车网站应该注意什么个人介绍网页设计模板
  • 邢台网站建设免费做网站排名上海开发app
  • 沈阳网站建设设计企业网站设计与管理系统
  • 婚纱照网站制作梁山网站建设价格
  • 做现货去哪些网站营销好呢网站 服务报价
  • 网站建设渠道做网站前端和平面配合
  • 北京交友最好的网站建设wordpress 移动支付宝
  • 2015百度推广网站遭到攻击非遗网页设计作品欣赏
  • 网站空间需要多大网站推荐几个免费的
  • 做一个网站花多少钱建行系统
  • 滁州市住房城乡建设部网站wordpress title背景
  • 餐饮手机微网站怎么做wordpress 多语言建站
  • 企业信息系统案例东昌府聊城网站优化
  • 做美食直播哪个网站好php网站开发数据列表排重
  • 网站建设 职责网站分站加盟
  • 单页网站产品手机网站免费生成
  • 无锡电子商务网站建设公司德国网站的后缀名
  • 服务器做视频网站赣州企业做网站
  • 如何看出网站用dede做的网站百度快照
  • 做网站很难吗五种新型营销方式
  • 个人网站搭建模拟感想江西企业网站建设哪家好
  • 长春企业网站建设网站制作公司相关工作
  • 免费课程网站有哪些兼职网站项目建设报告
  • 建立网站免费dedecms网站地图制作
  • 网页设计公司网站制作做网站最主要是那个一类商标
  • 卫生局网站建设方案网站架构设计英文翻译
  • 学做衣服网站有哪些智能开发平台软件
  • wordpress 下载站插件wordpress清楚所有评论
  • 公司网站建设工作计划网站设置受信任
  • 网站如何做实名验证码深圳企业网站推广