性能优化笔记(一)

概述: 笔者近期接受一个大数据项目的性能优化,为期两周,2.6万/s的日志处理速度提升至需求目标值5万/s。从整理项目流程阅读代码到性能优化目标实现,整个过程颇多波折。准备记录其间的技术性问题以做总结,希望可以对大家有所助益。 part1、你以为的真的是你以为的么---redis数据过期策略...

2018-04-27 11:11:02

阅读数 210

评论数 0

Spark的那些事(四) java操作kudu全示例(含sparksql)

上文提到,使用kudu等列式存储将数据以update模式写入kudu. 下面说一下java操作kudu的相关demo。java操作kudu在git上有相关demo,而spark操作kudu并没有。cloudera官网的操作中只提到了scala版本。本文列举java操作kudu的全示例,仅供入门参...

2018-03-22 18:10:08

阅读数 1646

评论数 0

spark的那些事(三) Structured streaming 窗口期内存数据的查询

之前的文章中提过,structured streaming处理流数据,如果使用聚合,将会有window的概念,对应属性watermark.不知你是否了解过druid,druid处理数据同样有窗口期的概念,用于判断数据何时丢弃.超时的数据将被直接丢弃. druid的实现比较完善.不管是窗口期的内存...

2018-03-22 18:09:16

阅读数 746

评论数 0

Spark的那些事(二)Structured streaming中Foreach sink的用法

Structured streaming默认支持的sink类型有File sink,Foreach sink,Console sink,Memory sink。 特别的说明一下Foreach sink的用法(ps:以通过Foreach sink写入外部redis为例)。 lastEtlDa...

2018-03-22 18:07:40

阅读数 1262

评论数 0

Spark的那些事(一)一文了解spark

Spark是一个快速的集群化的实时计算系统。支持Java, Scala, Python 和R语言的高级API。 一 Spark生态: 支持Spark Sql用于sql和结构化数据查询处理;支持MLlib用于机器学习;支持GraphX用于图形处理;支持Spark Streaming和Stru...

2018-01-15 14:29:08

阅读数 594

评论数 0

dropwizard微服务实践

一 Dropwizard是什么? Dropwizard是一个跨越了库和框架的界限,他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。 (一)它主要包含以下组件: 1、Jetty for HTTP 将Jetty的http库嵌入到项目中,不需要将我们的服务提交到复杂的服务器上...

2017-08-10 16:03:56

阅读数 542

评论数 0

基于jetty9实现java版的webcoket服务端和客户端

接上文,“websocket协议简析”。分享一下基于jetty9实现java版的webcoket服务端和客户端demo。 没有理论,话不多说,代码奉上。 准备工作: 新建maven工程,pom文件引入: <dependency> ...

2017-08-07 19:13:07

阅读数 357

评论数 0

websocket协议简析

websocket协议是基于tcp的网络协议,实现了浏览器与客户端的全双工通信,与http协议不同的是,它允许服务器主动推送消息给客户端。这样便可以取代原来低效的轮询。 背景 在websocket出现之前,客户端获取服务器消息,需要通过不停的轮询。有如下缺陷: 1)服务器被迫为每个客...

2017-08-04 13:51:59

阅读数 276

评论数 0

jstat命令详解

Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于Java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况...

2017-04-25 16:46:09

阅读数 183

评论数 0

优秀Java程序员必须了解的GC工作原理

一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。 一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与G...

2017-04-25 16:44:51

阅读数 165

评论数 0

apache kafka中server.properties配置文件参数说明

每个kafka broker中配置文件server.properties默认必须配置的属性如下: [java] view plaincopy broker.id=0   num.network.threads=2   num.io.thr...

2017-04-25 14:21:38

阅读数 288

评论数 0

java进程CPU占用高的问题排查

在某版代码提测时发现,java进程启动话,宿主机CPU使用率立马升到100%。百思不得其解,遂查之。 top命令查看占用cpu高的java进程号,记录11303. ps -mp 11303 -o THREAD,tid,time 查看占用cpu高的线程号,记录。 jstack 11303 >/...

2017-03-17 11:18:18

阅读数 206

评论数 0

java.io.IOException: No FileSystem for scheme: hdfs

http://www.cnblogs.com/justinzhang/p/4983673.html

2017-03-13 19:09:14

阅读数 623

评论数 0

java虚拟机 内存运行时数据区域

java虚拟机运行时数据区域广义上可以分为程序计数器 堆 栈和直接内存。 程序计数器(线程私有) 可以看作当前线程所执行的字节码的行号指示器。众所周知,多线程是争抢CPU执行时间的,轮流切换并分配cpu时间,每个cpu同一时刻只能处理同一个线程。程序计数器可以保证线程切换后能恢复到正确的执...

2017-01-13 18:32:27

阅读数 918

评论数 0

Elasticsearch---- delete by query

针对ES2.0 已经弃用delete-by-query,如需使用需要安装插件 1 安装插件 每台装有Es的机器,ES安装目录下执行 bin/plugin install delete-by-query 2 重启所有ES服务 3 在运维平台执行删除操作: 例如: 删除12.2...

2016-12-21 11:54:26

阅读数 5411

评论数 0

thinking in java 4th 读书笔记

Everything is an Object。 对象拥有独立状态、行为和身份,而具有共性行为属性的对象归属于同一个类。每个对象是一个类的实例。 对象有自己的存储空间,可以由其他对象组成。 所谓程序就是,一系列的对象,通过消息传递告诉彼此该做些什么。 每种编程语言都提供了抽象。通过抽象可以定义具有...

2016-10-09 13:29:13

阅读数 393

评论数 0

elastatic search 查询语法

es中的数据可以分为两种:一种是准确值;一种是全文检索值。 全文搜索使用分词器。es提供多种分词器。 分词器的作用简单描述: 比如文档q有一个字段date 值为2016-03-28. 如果是准确值,将会存储为2016-03-28;如果使用分词器,将存储为,2016,03,28 这样...

2016-09-19 15:15:48

阅读数 2717

评论数 0

linux系统最大打开文件数和socket端口数限制的坑

由于产品需求,高并发不断创建socket短连接来仿http请求。使用java socket来实现,在centos6.5系统上运行。过程中遇到不到的坑,最头疼的就是最大打开文件数和socket可用端口限制的问题。linux和mac默认最大打开文件数256.上限是65535.在创建socket连接时,...

2016-09-19 15:11:16

阅读数 6794

评论数 1

ElastaticSearch 去重cardinality的坑

项目中,Elastatic search(下面简称ES)用于数据存储和分析。 项目中的存储的对象有包含关系。 A对象是B对象的集合,即一个A对象包含多个属于A对象的B对象。在前端展示的时候,需要分别对A和B级别进行查询汇总。设计的时候,考虑到尽可能的减少存储量又能满足各种查询条件,决定以B为单位进...

2016-09-19 15:08:26

阅读数 4760

评论数 2

多线程对象传递的坑

高并发&多线程环境下的对象传递 高并发环境下,很多莫名其妙的问题会出现。通过单元测试跑通的代码,真正并发起来后就会出现各种奇葩问题。最坑的,就是父子线程间或同一线程的不同类不同方法间的变量传递。按照单线程的思维去考虑,完全木有任何问题,但是并发起来,由于多线程间的上下文切换和java指令...

2016-09-19 15:03:57

阅读数 1022

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭