- 浏览: 252936 次
- 性别:
- 来自: 杭州
最新评论
-
leibnitz:
有几点要请教下;a.在二阶段里有这样一句:引用例如如果一个 p ...
zookeeper源码学习 -
nettm:
不错,我也遇到了第一个问题
mongodb客户端错误集合 -
lingqi1818:
xiaoych 写道很好,研究了一年多了吧,哈哈 难得你上 ...
80x86系统启动原理 -
xiaoych:
很好,研究了一年多了吧,哈哈
80x86系统启动原理 -
pengpeng:
pengpeng 写道很强大。我觉得mas-slave那块可以 ...
分布式计算需求场景以及解决方案
文章列表
今天有同事反应在性能测试环境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) ^ ( ...
网上找的记录下,要用的时候方便查找。
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 ...