- 博客(14)
- 收藏
- 关注
转载 管中窥豹:一线工程师看MQTT
MQTT是什么?MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布,目前最新版本为v3.1.1。MQTT最大的优点在于可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。做为一种低开销、低
2018-01-22 14:35:45 777
转载 HiveMQ源码详解(一)概览
源博客地址:http://blog.csdn.net/pipinet123简单介绍HiveMQ是企业级MQTT Broker,提供高性能、高可用、高扩展、高安全性的企业级服务。它是纯Java实现的。官网地址:http://www.hivemq.com基于它如上的描述,所以后续我们就是基于它的高性能、高可用、高扩展、高安全性这几个特点来分析它的源码。注意:本篇源码都是基于HiveMQ 3.1.2版本
2018-01-18 15:05:19 4063
原创 Centos6.5编译openjdk7
一、环境准备1、Centos6.5:VMware上面安装Centos6.5,可以联网用来下载,需要注意内存最好要大于1G,我设置的为2G,之前设置的512M内存,编译源码时出现各种问题;2、apache-ant-1.7.1-bin.zip :下载地址:http://archive.apache.org/dist/ant/binaries/,或者https://pan.baidu.c
2018-01-10 20:24:15 453
转载 抓包工具Charles乱码解决办法
今天就来学习使用下 Mac 下截取网络封包的工具:Charles。我想,如果你是个善于利用搜索引擎的人,那么在 Google 中输入「Charles 使用」等相应的关键字,便会出现一大把文章。不过呢,之所以会有这篇文章,就是因为今天在安装和初步使用的过程中,遇到了些问题,而目前搜索出来的绝大数文章并没有提及(或者解决办法已经过时)。所以,我在此记录下来,希望能帮助到通过搜索找到这的朋友
2018-01-05 17:55:58 1155
转载 一步步优化JVM七:其他
边缘问题 在某些场景下,按照前面的一步步优化指导无法产生效果。这一节说明一下这些情况。 一些应用分配了一些少量的非常大的长时间存活的对象。这样的场景需要需要young代的空间比old代更大。 一些应用会经历很少的对象转移。这样的场景可能需要old代的空间远远大于存活对象的大小,由于old的占用量增长率很小。 一些应用有小延迟需求,
2018-01-03 13:48:23 308
转载 一步步优化JVM六:优化吞吐量
如果你已经进行完了前面的步骤了,那么你应该知道这是最后一步了。在这一步里面,你需要测试应用的吞吐量和为了更高的吞吐量而优化JVM。 这一步的输入就是应用的吞吐量性能要求。应用的吞吐量是在应用层面衡量而不是在JVM层面衡量,因此,应用必须要报告出一些吞吐量指标或者应用的某些操作的吞吐量性能指标。观察到的吞吐量指标然后用可以用来和应用需要的性能指标进行比较,如果达到或者超过要求,那
2018-01-03 13:46:26 785
转载 一步步优化JVM五:优化延迟或者响应时间(2)
优化CMS(concurrent garbage collection) 使用CMS,old代的垃圾回收执行线程会和应用程序的线程最大程度的并发执行。这个提供了一个机会来减少最坏延迟的频率和最坏延迟的时间消耗。CMS没有执行压缩,所以可以避免old代空间的stop-the-world压缩(会让整个应用暂停运行)。 优化CMS的目标
2018-01-03 13:41:48 322
转载 一步步优化JVM五:优化延迟或者响应时间(3)
CMS垃圾回收器周期 一旦young的空间大小(包含eden和survivor空间)已经完善得满足应用对MinorGC产生延迟要求,注意力可以转移到优化CMS垃圾回收器,降低最差延迟时间的时间长度以及最小化最差延迟的频率。目标是保持可用的old代空间和并发垃圾回收,避免stop-the-world压缩垃圾回收。 stop-the-world压缩垃圾回收是垃圾回
2018-01-03 11:01:38 362
转载 一步步优化JVM五:优化延迟或者响应时间(1)
本节的目标是做一些优化以满足对应用对延迟的需求。这次需要几个步骤,包括完善Java堆大小的配置,评估垃圾回收占用的时间和频率,也许还要尝试切换到不同的垃圾回收器,以及由于使用了不同的垃圾回收器,需要重新优化Java堆空间大小。 这一步有如下可能的结果: 1、应用的延迟需求被满足了。如果这一步的优化操作满足了应用的延迟需求,你可以继续下一步优化(优
2018-01-03 10:59:33 580
原创 一步步优化JVM四:决定Java堆的大小以及内存占用
到目前为止,还没有做明确的优化工作。只是做了初始化选择工作,比如说:JVM部署模型、JVM运行环境、收集哪些垃圾回收器的信息以及需要遵守垃圾回收原则。这一步将介绍如何评估应用需要的内存大小以及Java堆大小。首先需要判断出应用存活的数据的大小,存活数据的大小是决定配置应用需要的Java堆大小的重要条件,也能够决定是否需要重新审视一下应用的内存需求或者修改应用程序以满足内存需求。
2018-01-03 10:54:31 7898
转载 一步步优化JVM三:GC优化基础
本节主要描述关于垃圾回收器性能的三个指标,三个关于垃圾回收器优化的基本原则,以及优化HotSpot VM的垃圾回收器的信息收集,在这些指标中权衡以及信息的收集是非常重要的。性能指标 吞吐量:衡量垃圾回收器运行在性能峰值的时候不需要关心垃圾回收器暂停的时间或者需要占用内存的能力。 延迟:衡量垃圾回收器最小化甚至消灭由垃圾回收器引起的暂停时间和应用抖动的能力。
2018-01-03 10:53:06 329
转载 一步步优化JVM二:JVM部署模型和JVM Runtime
选择JVM部署模型 JVM部署模型的选择总体来说就是决定应用是部署在单个JVM实例还是多个JVM实例上(这里简单举例说明一下JVM实例,比如:我们常用eclipse开发,启动一个eclipse就是启动了一个JVM实例,然后在JVM中运行一个main程序,又会启动一个JVM实例,两个JVM实例是隔离开的)。哪一个是最适合你的应用的呢?这个是前面说到系统需求和潜在规则来决定的。比如
2018-01-03 10:46:42 462
转载 一步步优化JVM一:概述、方法及需求
现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求。由于各种各样的应用能够运行在现在JVM上面,所以大量的JVM选项可以配置来提升应用的性能。不幸的是,对一个应用而言优化得很好的JVM配置,对应另外的应用不一定适合。所以,真正理解怎样优化JVM配置是非常有必要的。 优化现代JVM是
2018-01-03 10:42:20 383
转载 Zookeeper的Paxos分布式一致性算法-类比的方式去理解
Paxos是一个基于消息传递的一致性算法,近几年被广泛应用于分布式计算中,Google的Chubby,Apache的Zookeeper都是基于它的理论来实现的,Paxos还被认为是到目前为止唯一的分布式一致性算法,其它的算法都是Paxos的改进或简化。Paxos只有在一个可信的计算环境中才能成立,这个环境是不会被入侵所破坏的。 由Leslie Lamport发明了Paxos算法,他目前供职
2018-01-01 17:11:02 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人