- 浏览: 63429 次
- 性别:
- 来自: 武汉
文章列表
1 内存管理
伟大的Bill Gates 曾经失言:
640K ought to be enough for everybody — Bill Gates 1981
程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。 ...
构建云计算的4大关键词
- 博客分类:
- 分布式
构建云计算的4大关键词
通讯世界 善娴/文
著名咨询机构IDC研究发现,目前,多数企业有两个IT方面的问题亟需解决。首先,CIO们普遍认为,数据中心需要转型;另外,业务部门希望 IT系统能够为客户提供更好的服务 ...
*****************************************1***************************************
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>
void dump(int signo)
{
char buf[1024];
char cmd[1024];
FILE *fh;
snprintf(buf, siz ...
命令模式:
“s”为表示替换动作,“%”表示所有行,“g”表示全文,“^”表示行首,“$”表示行尾。
:%s#/usr/bin#/bin#g 把文件中所有路径/usr/bin换成/bin或:%s/usr/bin/bin/g
:%d 删除全部
dG ...
svn checkout http://vimide.googlecode.com/svn/trunk/linux vimide
cd vimide/
sh install.sh
readelf -s a.out 可以查看符号表,就能找到对应的函数了。
objdump -d a.out > a.s 可以反汇编,不但能找到函数,还能直接定位到指令。
addr2line
1. 客户需求重于个人简历 ( Nitin Borwankar
)
客户需求至上。为了自己的简历更炫而采用新技术是沽名钓誉,往往事与愿违。
2. 简化根本复杂性 ,消除偶发复杂性 ( Neal Ford
)
分析问题好比拨云见月、水落石出 ...
1、CAP理论
2000年Eric Brewer教授提出了著名的CAP理论
,即:一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。2002年MIT的Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性
。根据CAP理论 ...
http://www.rosoo.net/
NOSQL:
http://sebug.net/paper/databases/nosql/Nosql.html
http://www.infoq.com/cn/minibooks/architect-mar-10-2011
来源于:http://www.open-open.com
QuickServer
QuickServer 是一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户可以只集中处理应用程序的逻辑/协议。
更多QuickServer信息
DrFTPD
纯java的分布式FTP服务器。
更多DrFTPD信息
Netty2
Netty
2 提供了一组基于事件的API来开发高性能, 可管理的TCP/IP服务端或客户端应用程序.
对 ...
当服务器程序需要每秒处理大量离散消息或者请求时,该注意哪些问题。网服务器更符合这种情况,但并非所有的网络程序都是
严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为简洁起见,下面将简称为“服务器”。
本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一些并行处理,
但是这类并行程序设计没有多大挑战性。真正的挑战出现在服务器的架构设计对性能产生制约时,如何通过改善架构来提升系统
性能。
对于在拥有上G内存和G赫兹CPU上运行的浏览器来说,通过DSL进行多个并发下载任务不会有如此的挑战性。这里,应用的焦点不在于
通过吸管小 ...
先后查看了
haproxy
,
l7sw
和
lighttpd
的相关源码,无一例外,
他们一致认为多路复用是性能最好的服务器架构
。
事实也确实应该如此,进程的出现一方面就是为了保存任务的执行上下文从而简化应用程序设计,如果程序的逻辑结构不是很复杂,那么用整个进程控制块来保存执
行上下文未免有些大材小用,加上进程调度和其他的一些额外开销,程序设计上的高效很可能会被执行时的低效所抵消。代价也是有的:程序设计工作将更加具有挑
战性。
体系结构选定之后,我们就要考虑更加细节的部分,比如说用什么操作系统,用操作系统提供的那些API。在这方 ...
单客户端的服务器流程
首先考虑只有一个客户端请求服务的情况,服务器需要先开启一个Socket端口监听连接
请求,然后接受一个客户连接,接着读取网络数据处理并发回结果,最后还要关闭网络连接。用传统的Socket函数描述,整个网络服务过程经历了bind、
listen、accept、receive、send、close几个步骤,其中receive和send经历多次循环。由于receive、send
等函数都是阻塞式的,没有完成接收(发送)就会等待而不往下执行,所以无法实现同时向多个客户端提供服务。
单一客户端循环
fork方式实现并行
既然单个客户端会在收发数据的时候阻塞整个 ...
对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或者请求的服务程序,网络服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为了叙述起来简单,下面将简称为“服务器”。
本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一些并行处理,但是这类并行程序设计没有多
大挑战性。真正的挑战出现在服务器的架构设计对性能产生制约时,如何通过改善架构来提升系统性能。对于在拥有上G内存和G赫兹CPU上运行的浏览器来说,
通过DSL进行多个并发下载任务不会有如此的挑战性。这里,应用的焦点不在 ...