`
lingqi1818
  • 浏览: 249779 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
今天有同事反应在性能测试环境cpu load很高有500多,我的分析过程是这样的,先用visualVM连上去观察了下,发现请求都卡在channelsocket的read上面。          这一步是mod_jk的代码,并未真正进入应用代码。所以怀疑是apache和jboss之间出现了为题,为了印证这个猜测,先对jboss直接做压力测试,果然应用正常,load也在正常值。          于是就观察了下httpd.conf和mod_jk.conf.发现两个配置除了用的都是正常值并没有其他特殊设置,在
作为一个程序员,除了让你的程序实现业务逻辑尽量不出BUG外,你的职责是让的程序尽量跑的够快。也许有人会发问,现在CPU每秒处理速率至少是上亿次以上,还有必要考虑这种问题吗?很不幸的告诉你,很有必要。现在的程序 ...
见附件。。。
最近有个需求要对mysql的全量数据迁移到hbase,虽然hbase的设计非常利于高效的读取,但是它的compaction实现对海量数据写入造成非常大的影响,数据到一定量之后,就开始抽风。 分析hbase的实现,不管其运行的机制,其最终存储结构为分布式文件系统中的hfile格式。 刚好hbase的源代码中提供一个HFileOutputFormat类,分析其源代码可以看到: /** * Copyright 2009 The Apache Software Foundation * * Licensed to the Apache Software Foundation (ASF) un ...
工作需要,画了如下鸟图
1.无连接的方式 前提条件服务端知道客户端的IP地址,并且客户端IP地址发生变更需要通知服务端。在类似有wap网关的环境下是没法使用这种方式的,因为服务端知道的永远都是wap网关的地址。 2.面向连接的推送 基于tcp/ip的连接需要由客户端发起,因为服务端不知道客户端的地址。缺点是浪费电池,需要心跳保持长连接。 3.通过类似短信网关偷偷发短信给客户端,客户端通过第三方软件偷偷收到短信并且处理之,黑莓的push mail就是这种方案。
尾调用是一种类似在函数结尾的goto调用,当函数最后一个动作是调用另外一个函数时,我们称这种调用尾调用。例如: function f(x) return g(x) end g的调用是尾调用。 例子中f调用g后不会再做任何事情,这种情况下当被调用函数g结束时程序不需要返回到调用者f;所以尾调用之后程序不需要在栈中保留关于调用者的任何信息。一些编译器比如Lua解释器利用这种特性在处理尾调用时不使用额外的栈,我们称这种语言支持正确的尾调用。 由于尾调用不需要使用栈空间,那么尾调用递归的层次可以无限制的。例如下面调用不论n为何值不会导致栈溢出。 function foo (n) if n > ...
字符编码笔记:ASCII,Unicode和UTF-8 作者: 阮一峰 日期: 2007年10月28日 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。 下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就 ...
首先我们简要说明下hbase的运行过程: 1.新数据在hdfs中生成hlog的日志文件,同时插入到内存的memtable中 2.当memtable的大小超过hbase.hregion.memstore.flush.size的时候,将会把数据刷新到hdfs中存成hfile格式 3.当hfile超过hbase.hregion.max.filesize,则会split成2个hfile文件,根据region对半拆分 4.当memtable满的时候,会将数据存成hfile跟拆分过的hfile在一个文件夹,当memtable变的文件超过hbase.hstore.compactionThreshold,则进行 ...
   昨天项目发布间隙,看了下hashmap的算法。关键在于: static int hash(int h) {         // This function ensures that hashCodes that differ only by         // constant multiples at each bit position have a bounded         // number of collisions (approximately 8 at default load factor).         h ^= (h >>> 20) ^ ( ...
请下载附件...

java gc

 
详见附件ppt
网上找的记录下,要用的时候方便查找。 cprof http://cprof.sourceforge.net/ cprof 相比 gprof 好一些。gprof 貌似不支持 多线程 ,cprof 在 2.4 内核上支持 多线程,但是在 2.6 上面,对多线程也存在问题。 http://oprofile.sourceforge.net/news/ 还有一个强大的 oprofile,需要内核的支持。
BIGTABLE 一个结构化数据的分布式数据存储系统,主要解决大数据量存储的问题。 数据模型为: Rows 通过行键来指定,例如com.cnn.www Column Families  Column keys are grouped into sets called column families, which form the basic unit of access control. All data stored in a column family is usually of the same type (we compress data in the same column ...
请详见附件
Global site tag (gtag.js) - Google Analytics