作者存档: inter12

微信小程序的简单看法

刚一个多年的老友打电话来说,想聊聊看是否在小程序上是否有机会创业走出一条路,就顺便记录一下自己对于小程序的看法。

阅读全文…

往事回忆之大众点评

人老了,总是喜欢回忆。今年是大学毕业后的第十一个年头了,就开始喜欢回忆过往的一些的事情。准备写一个系列,内容是关于自己工作过公司的点滴些事,内容会比较杂乱,就当总结吧。

阅读全文…

行业机会浅析

看未来的趋势是一件很难的事情,需要从多个纬度来看,以下是个人的一些浅薄见解。

阅读全文…

一个比较有趣的性能问题排查工具

greys是一个很强大的工具,简单的一句话就是强化版的btrace. 之前遇见一个问题,就是线上查询很慢,正好通过这个工具试着诊断一下。
一 安装greys
curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh
cd greys
sh ./install-local.sh
二 诊断问题
jcmd 拿到 pid
root@hzxs-hadoop-pre-03:/data/src/greys # ./greys.sh 141930
                                                        _
  ____  ____ _____ _  _  ___ _____ _____ ____  _____ _| |_ ___  ____  _  _
/ _  |/ ___) ___ | | | |/___|_____|____ |  _ \(____ (_  _) _ \|    \| | | |
( (_| | |  | ____| |_| |___ |    / ___ | | | / ___ | | || |_| | | | | |_| |
\___ |_|  |_____)\__  (___/      \_____|_| |_\_____|  \__)___/|_|_|_|\__  |
(_____|          (____/                                              (____/
                                              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                              |v|e|r|s|i|o|n|:|1|.|7|.|6|.|6|
                                              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ga?>
查看问题:
ga?>trace com.bilibili.berserker.horoscope.biz.service.impl.HoroChannelDomainServiceImpl listChannelList
Affect(class-cnt:1 , method-cnt:1) cost in 416 ms.
`—+Tracing for : thread_name=”qtp2142442467-651″ thread_id=0x28b;is_daemon=false;priority=5;
    `—+[7371,7370ms]com.bilibili.berserker.horoscope.biz.service.impl.HoroChannelDomainServiceImpl:listChannelList()
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@38)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getPlatform(@39)
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@39)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getStartDate(@40)
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@40)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getEndDate(@41)
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@41)
        +—[9,8ms]com.bilibili.agilawood.util.BeanUtils:copy(@43)
        +—[9,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getStartDate(@46)
        +—[9,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getEndDate(@47)
        +—[9,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getSortField(@48)
        +—[9,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getSortType(@49)
        +—[7371,7362ms]com.bilibili.berserker.horoscope.dao.HoroChannelDataDAO:listChannels(@45)
        +—[7371,0ms]org.apache.commons.collections.CollectionUtils:isEmpty(@51)
        `—[7371,0ms]com.bilibili.agilawood.util.BeanUtils:copyList(@55)
发现大量的耗时在一个DAO操作上
原因是上线时候没有给查询条件加上索引导致的,添加索引后。
ga?>trace com.bilibili.berserker.horoscope.biz.service.impl.HoroChannelDomainServiceImpl listChannelList
Press Ctrl+D to abort.
Affect(class-cnt:1 , method-cnt:1) cost in 474 ms.
`—+Tracing for : thread_name=”qtp685399117-2763″ thread_id=0xacb;is_daemon=false;priority=5;
    `—+[64,63ms]com.bilibili.berserker.horoscope.biz.service.impl.HoroChannelDomainServiceImpl:listChannelList()
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@38)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getPlatform(@39)
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@39)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getStartDate(@40)
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@40)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getEndDate(@41)
        +—[1,0ms]com.google.common.base.Preconditions:checkNotNull(@41)
        +—[1,0ms]com.bilibili.agilawood.util.BeanUtils:copy(@43)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getStartDate(@46)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getEndDate(@47)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getSortField(@48)
        +—[1,0ms]com.bilibili.berserker.horoscope.api.query.HoroChannelSimpleQuery:getSortType(@49)
        +—[64,63ms]com.bilibili.berserker.horoscope.dao.HoroChannelDataDAO:listChannels(@45)
        +—[64,0ms]org.apache.commons.collections.CollectionUtils:isEmpty(@51)
        `—[64,0ms]com.bilibili.agilawood.util.BeanUtils:copyList(@55)
一个SQL查询从7秒多降到了64毫秒。
三 总结
greys是一个不错的工具,还有其他很强大的功能,具体可见使用文档:https://yq.aliyun.com/articles/2390



阅读全文…

使用maven编译pb

最近一个项目要使用grpc来做通信,这个玩意底层用的是pb格式做序列,在网上查了些资料,发现很多资料都过时了,编译的时候出现各种。

阅读全文…

Presto的安装手记

一 下载安装包
wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.192/presto-server-0.192.tar.gz

阅读全文…

phoenix安装手记

1.下载代码

阅读全文…

crate 集群搭建

crate 的介绍可见:https://crate.io/

阅读全文…

spark核心要点

整理一份关于spark核心的脑图,这基本涵盖了spark中比较关键的东西了。

阅读全文…

hadoop中使用到的设计模式

设计模式(Design pattern)的官方定义是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。解决的是代码可重用、代码更容易被他人理解、保证代码可靠性的问题。
Hadoop作为一个06年开始开源走到现在的框架,已经是一个非常成熟和经典的系统了。这个里面对于设计模式的使用也是非常的经典,本篇主要介绍一下Hadoop中使用到的设计模式,非常值得学习。额外需要提到的是这里的设计模式特指:四人帮23种模式.
关于设计模式的详细介绍可见:http://www.runoob.com/design-pattern/design-pattern-tutorial.html
1.创建型模式
1.1 单例模式 单例模式(Singleton Pattern)
RMPolicyProvider : 双重锁的形式单例实现。
NMPolicyProvider,HDFSPolicyProvider : 饿汉式的单例实现。
一般是要求全局单例的要求。

阅读全文…

Pages: 1 2 3 4 5 6 7 8 9 10 ... 22 23 24 Next