自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(61)
  • 资源 (10)
  • 收藏
  • 关注

转载 阵列Cache写机制:Write-through与Write-back区别

Write Through和Write Back Write Through和Write Back是阵列卡Cache的两种使用方式,也称为透写和回写。当选用write through方式时,系统的写磁盘操作并不利用阵列卡的Cache,而是直接与磁盘进行数据的交互。而write Back方式则利用阵列Cache作为系统与磁盘间的二传手,系统先将数据交给Cache,然后再由Cache将数据传给磁盘。

2014-02-26 09:55:06 732

原创 MySQL的QP

show global status where Variable_name in('com_select','com_insert','com_delete','com_update'); 等待10秒 磁盘IOPS计算与测量 IOPS 是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP

2014-02-14 13:53:03 1360

原创 关于Mysql的分区和分表

一、先说明下概念:Mysql 分表:字面意思是将一张表划分为N个小表;每个小表包含(.MYD数据文件,.MYI索引文件,.frm表结构文件,是一个真正的表)。Mysql分区:将一个表的数据划分为N个区,逻辑上还是一张表,不过存储数据的文件会变多。二、区别:数据处理上:1 分表利用了Merge引擎,对表关系进行管理。存取数据发生在各个子表里。

2014-02-08 17:45:47 259

原创 MySQL研究

用了很长时间的mysql,对于它的内部结构很少研究。 新的一年里,需要沉下心里,仔细研究

2014-01-27 15:03:57 197

转载 Linux下高cpu解决方案(转载)

昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客户是南非的一个公司,由于时差问题,我只好在家远程解决问题,晚上8点半用 gotomeeting远程到客户电脑查看我们的系统,折腾了四个多小时,终于在凌晨时reproduce了这个high CPU,赶紧抓L

2014-01-17 10:10:12 281

原创 mysql 优化

1. 千万不要 ORDER BY RAND()想打乱返回的数据行?随机挑一个数据?真不知道谁发明了这种用法,但很多新手很喜欢这样用。但你确不了解这样做有多么可怕的性能问题。如果你真的想把返回的数据行打乱了,你有N种方法可以达到这个目的。这样使用只让你的数据库的性能呈指数级的下降。这里的问题是:MySQL会不得不去执行RAND()函数(很耗CPU时间),而且这是为了每一行记录去记行,

2014-01-08 19:45:25 220

转载 部分 TCP 内核参数彻底了解

tcp_max_syn_backlog——————-端口最大 backlog 内核限制。此参数限制 服务端应用程序 可以设置的端口最大 backlog 值 (对应于端口的 syn_backlog 和 backlog 队列长度)。动机是在内存有限的服务器上限制/避免应用程序配置超大 backlog 值而耗尽内核内存。如果应用程序设置 backlog 大于此值,操作系统将自动将之限制到此值。

2014-01-03 14:14:48 175

原创 分布式系统-服务发现

前言转眼间,距离毕业已满五年多。现在在第二家互联网公司工作。经历了多个项目的开发。准备整理在工作中的经历和所思,希望可供自己反思,其他同学可以借鉴和指正。

2013-10-30 23:30:14 234

原创 linux下常用工具

在linux 经常需要比较两个文件的差别。 下面对于常用的工具进行分析

2013-10-30 16:42:52 263

原创 pychecker的使用

PyChecker是一个对Python源代码进行语法检查的工具。

2013-10-09 17:27:02 298

转载 超越分布式事务的方法 - 一个叛逆者的观点

摘要 ABSTRACT   在分布式事务方面已经有几十年的研究,例如2PC、Paxos这样的协议以及其它有代表性的实现方式,这些协议为应用程序员提供了一个全局序列化(global serializability)编程外观。我个人职业生涯中的重要时期也极力提倡实现和使用这种提供全局序列化能力的平台。   近十年来的经历让我觉得这样的平台像马其诺防线。一般应用开发者不会使用分布式事务实现高伸缩

2013-09-26 06:44:53 585

转载 FAST TCP

这个是google的几个人提交的一个rfc,是对tcp的一个增强,简而言之就是在3次握手的时候也用来交换数据。这个东西google内部已经 在使用了,不过内核的相关patch还没有开源出来,chrome也支持这个了(client的内核必须支持). 要注意,TFO默认是关闭的,因为它有一些特定的适用场景,下面我会介绍到。相关的rfc:http://www.ietf.org/id/dr

2013-09-11 13:56:31 592

转载 安全编程

将依赖于用户输入的数据都看做不安全数据:1.空指针2.字符串的长度3.在限定有输入时的长度 的符号类型4.输入时候的符号5.严格判断输入的类型与所处理的数据的类型是否符合6.禁止格式化输出

2013-09-06 17:55:13 271

转载 linux惊群问题

今天测试udp服务器进程时发现log中记录了当进程收到一个请求后,会有多条失败处理记录,同时有一条成功处理记录。服务器进程使用sellect模式,通过fork四个子进程来监听同一个socket。      发现问题后初步怀疑是出现了惊群现象。但是,听说现代内核已经解决了惊群问题,程序也可以确定也没有问题,就奇怪问题发生在哪里了。      后来在网上一搜才知道,原来linux内核开

2013-09-06 15:34:06 232

原创 Mysql 优化相关

1 尽可能地合并给定表DML 语句会获得更高的效率mysql> ALTER TABLE album DROP index country_id, dropindex album_type_id;Query OK, 553875 rows affected (15.72 sec)mysql> ALTER TABLE album ADD INDEX (country_id);Que

2013-09-05 09:53:25 240

转载 多线程访问共享内存的不加锁实现方式

多线程访问共享内存,为了实现同步,常采用加锁的方式。那么,如何采用不加锁的方式来达到线程同步的目的呢?思路:保存两块共享内存,一块用于读操作,一块用于写操作。初始时,两块共享内存内容一致。读操作均是读取第一块共享内存的数据;写操作均是写第二块共享内存。在多个读操作一个写操作的情况下,读操作均从第一块共享内存读取,写操作修改第二块共享内存的数据。直至写操作完成

2013-08-30 17:15:39 260

原创 面试题:重复元素统计

#面试题#给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计哪些数字没有出现,哪些数字出现了多少次。能够在O(n)的时间复杂度,O(1)的空间复杂度要求下完成么?我的算法如下,若有bug,请指正哦1>python实现:int_array=[]def init(int_array,n):    int_array.a

2013-08-30 08:17:14 242

原创 共享内存

ipcs -m | awk '$2 ~ /[0-9]+/ {print $2}' | while read s; do sudo ipcrm -m $s; done

2013-08-02 17:58:02 264

转载 用消息队列和消息应用状态表来消除分布式事务

by 方刚 由于数据量的巨大,大部分Web应用都需要部署很多个数据库实例。这样,有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性,经典的方法是使用两阶段提交协议。长期以来,分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵,很多人都不敢越雷池一步,想像没有分布式事务的世界会是怎样。如今就如MySQL和PostgreSQL这

2013-08-01 08:27:50 301

原创 csdn类别管理

在csdn上,修改文章的类别管理后,需要过段时间(1min)才能正常使用,什么原因造成等待这么长的时间?猜想:数据同步需要这么长的时间?     在需要等待这么长的时间内,为什么不可以使修改分类的人看到最新的? 而其他的用户看到的分类,可以是旧的? 这样可以提升用户体验~~~

2013-07-31 07:44:05 296

转载 如何参与开源项目

编者:开源项目是程序员学习的一个途径,面对那些发展多年的代码,我们到底该如何才能参与其中?如果你想参与到开源项目中去,却又不知道从何入手,这里提供一些参考方法或许能给你提供一些帮助,哪怕你对你目前的技术还缺乏自信都不要紧。开源软件已经改变了IT,甚至整个世界,正是因为有了你们,乐于奉献在开源事业中。不幸的是,很多人把参与到开源项目中想象成一个难以跨越的障碍一样,因此而退缩。我通常听

2013-07-26 08:04:04 249

转载 安身立命的编程指导

这些年来我收集了一些编程指导原则,当编程时,这些原则就会出现在我脑子里。有一些是我总结的,有一些是我从@jonwagnerdotcom 和 @jbright 那里偷来的,书本里也给了我一些,另外一些我完全忘记了出处。希望这些指导原则在你编程时也会给你带来帮助。思考凡事动手前先用脑思考。不要盲目遵循各种模式。所做的事要有意义。相信自己的脑袋。不同事情不同编程方法,相同的事情相

2013-07-26 07:49:15 196

转载 c++虚函数表

虚函数表 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重

2013-06-30 15:00:55 246

转载 节选:LinkedIn:55人支持2700位员工,2亿用户的大数据分析

原网址:http://www.csdn.net/article/2013-05-02/2815112-interview-LinkedIn-business-analytics-simon-zhang新模型:从金字塔到菱形LinkedIn内部数据增长在1000倍左右,但是数据价值并非同数据量增加呈线性对应关系,有时候,甚至是因为数据量增加使得价值降低了。

2013-05-06 11:50:52 111

转载 抛弃DRAM、拥抱闪存,Facebook重做Memcached

摘要:社交巨头Facebook的“冷存储”战略又向前迈进了一大步,前进的指导方针仍然为闪存。“挨刀”的则是Facebook“老臣”Memcached,不过这次不再是以往几倍几倍的提升速率,而是直接将其炼化为闪存版。好吧,下面来初窥一下Facebook的新键值缓存系统McDipper。上回说到社交巨头Facebook苦衷,因其不能像一般企业或机构将“冷数据刻录成光盘”,不得不向一些硬件供

2013-04-15 20:10:25 427

转载 twitter storm中的RotatingMap(高效删除过期不再活跃的对象)

/** * Expires keys that have not been updated in the configured number of seconds. * The algorithm used will take between expirationSecs and * expirationSecs * (1 + 1 / (numBuckets-1)) to actual

2013-04-11 20:11:07 647

转载 关于无限级、非递归树形分类

下面是表的设计结构字段说明id分类编号parent_id分类的父亲节点name分类名称parent_path父节点的路径,用于找到一个节点的子节点和子子节点或所有子节点。也可以找到一个节点的所有父节点,比如在删除节点时同时删除其下所有子节点order_pa

2013-04-03 14:03:06 372

原创 关于函数式编程

In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids stateand mutable data.函数式编程的抽象本质则是将函数也作

2013-04-03 10:05:14 234

转载 Strom 安装常见错误

1. 发布topologies到远程集群时,出现Nimbus host is not set异常原因是Nimbus没有被正确启动起来,可能是storm.yaml文件没有配置,或者配置有问题。解决方法:打开storm.yaml文件正确配置:nimbus.host: "xxx.xxx.xxx.xxx",重启nimbus后台程序即可。 2. 发布topologies到远程集群时,出现Alre

2013-04-03 06:38:58 376

转载 可爱的 Python: 用 Psyco 让 Python 运行得像 C 一样快

Python 对于您想让它做的事来说通常够快了。编程新手对于类似 Python 这样的解释型/字节编译型语言,将 90% 的关注点集中在执行速度方面,是相当幼稚的。在最新的硬件上,大多数非优化的 Python 程序运行的速度和所需要达到的速度一样快,而且,花费额外的编程工作以使应用程序运行得更快实在没什么意义。因此,在本文,我只对其它的百分之十感兴趣。有时,Python 程序(或用其它语言

2013-03-28 17:14:49 384

原创 数据挖掘中的Kmeans算法

KMeans算法是一种基于样本间相似度量的间接聚类方法。主要思想是:在给定K值和K个初始类簇中心点的情况下,把每个点(亦即数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。KMeans的两个缺陷:1,这两个

2013-03-28 12:00:11 433

转载 Erlang之父Joe Armstrong近期回顾的一些旧事

建议学习的是什么语言:CPrologErlang(我偏心)SmalltalkJavascriptHakell / ML /OCamlLISP/Scheme/Clojure(每个语言)花几年的时间应该是够了。

2013-03-21 09:48:13 304

原创 分布式系统中如何确保消息及衍生消息被处理过?

最近在开发数据分析系统中,学习和参考了Twitter Storm源码。发现了很多宝贝,其中对于消息(tuple)的跟踪甚为巧妙。

2013-03-07 06:48:03 262

转载 学好Python必读的几篇文章

作为脚本语言Python上手容易,但要学好Python能写出一手漂亮的、Pythonic的Python代码并非一日之功,本文的目的在于推荐一些优秀的Python相关的文章(至于书大家可以看dip、learning python和官方手册去),让你在成长为一名Python高手的路上少走一点弯路。注:文章都是英文的,学好Python读懂英文资料这是必须的了。1. PEP8 Style Guid

2013-01-30 11:52:09 426

转载 python: indentationerror: unexpected indent

关键字: indentationerror: unexpected indent python    都知道python是对格式要求很严格的,写了一些python但是也没发现他严格在哪里,今天遇到了IndentationError: unexpected indent错误我才知道他是多么的严格。     以后遇到了IndentationError: unexpected indent你就要知道

2013-01-29 20:32:30 579

转载 开源机器学习软件

今天给大家介绍一下经典的开源机器学习软件:编程语言:搞实验个人认为当然matlab最灵活了(但是正版很贵),但是更为前途的是python(numpy+scipy+matplotlib)和C/C++,这样组合既可搞研究,也可搞商业开发,易用性不比matlab差,功能组合更为强大,个人认为,当然R和java也不错.1.机器学习开源软件网(收录了各种机器学习的各种编程语言学术与商业的开源

2013-01-28 14:20:22 2781

原创 Python源码分析(未完)

1 为了效率   对一些常用函数,提供宏实现(牺牲类型安全性检查)  常用变量,常驻内存2 PyCodeObejct源代码中的静态信息 3 PyFrameObject  运行时环境

2013-01-13 12:46:29 347

原创 Think On Paper

最近看一本书时,提到Think On Paper,主要的意思是类似“好脑筋不如烂笔头”。 当你将自己的想法写出来时,你的想法不再是瞬时出现的火花。记录下来,可以通过记录的过程,对当时的想法进行跟有逻辑的阐述和解析。再以后的日子里,也可以进行回顾和完善。所谓日省吾身,不但是对当日的所思,也可对以前的事、想法进行检验并反馈。

2013-01-06 22:59:37 211

原创 关于Mepreduce

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。核心概念:map(映射):  一个映射函数就是对一些独立元素组成的概念上的列表的操作。reduce(化简)::对一个列表的元素进行适当的合并。相关实现:1 Hadoop2 Phoenix 斯坦福大学开发的基于多核/多处理器、共享内存的MapReduce实现.

2012-12-31 11:21:46 352

转载 linux mktime

核中的mktime()函数位于kernel/time.c内该函数主要用于内核启动时,将CMOS中的 年-月-日 时:分:秒 信息转换为距离1970-01-01 00:00:00的秒数 具体定义如下: [cpp] view plaincopyprint?unsigned long  mktime(const unsi

2012-12-13 09:35:55 610

mysql高性能

关于mysql 高性能相关方面的介绍,在mysql优化时 ,可以看看!

2011-10-10

高级路由和流量控制手册

介绍关于高级路由和流量控制的资料,讲的比较全面。非常实用的参考手册。

2010-04-15

建筑的永恒(the timeless way of building,中文)

由建筑延伸出的设计模式,可以看看,希望有助于大家

2010-02-01

IpPacket 流量分析

关于网络流量监控的小程序。 希望对下载的朋友们有所帮助!

2008-10-18

C++ 内存管理算法和实现

C++ 内存管理算法和实现 比较不错 不过是e文

2008-09-28

vmi 手册 值得一读

vim 手册 Linux 编程之必备 欢迎下载

2008-08-27

automake

programming in Linux or Unix, very helpfull

2008-08-08

JSP标准标记库

JSP标准标记库.WEB开发所用。

2008-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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