About
hoterran 目前就职于阿里云计算系统产品部。
设计,架构,开发阿里云计算的关系型数据库云服务.
和霸爷团队一块开发了关系型数据库云服务的 MySQL Proxy(erlang).
设计,架构,开发阿里云计算的高性能监控系统 – 鹰眼 .
设计,架构,开发阿里云计算的 云监控系统 .
熟悉MySQL、Nagios、redis、Erlang、SQLite 等一些开源项目的源代码,对于 TcpIp 协议栈和开发高性能网络程序也兴趣浓厚。
原阿里软件Oracle、MySQL产品DBA,运维过TB级别的OLTP系统。
呵呵,我想跟你交换链接,以后有时间了向你学习,也看看源码。
好的
我的链接是:www.themysql.com
记得加上我的友情链接呵呵~~ http://www.petermao.com~~ 一起进步~~
请问下鹰眼项目还在继续发展吗?
还在发展,有问题么?
给贵公司打了N个电话,说没这个人,留的电话也打不通,我实在没办法了,想咨询下你有没有可以处理此事的人?谢谢
你好!大牛,我最近在看redis事件处理的代码,发现redis在使用epoll的时候没有使用EPOLLET边缘触发,而是用的是默认的水平触发,我想问下,这样对高并发有影响么?谢谢
水平触发编码简单,性能是不如边缘触发,但其坑太多,冒失只有ngnix把这坑给填了.
我目前在看redis这段代码:
void readQueryFromClient(aeEventLoop *el, int fd, void *privdata, int mask) {
redisClient *c = (redisClient*) privdata;
char buf[REDIS_IOBUF_LEN];
int nread;
REDIS_NOTUSED(el);
REDIS_NOTUSED(mask);
nread = read(fd, buf, REDIS_IOBUF_LEN);
if (nread == -1) {
if (errno == EAGAIN) {
nread = 0;
} else {
redisLog(REDIS_VERBOSE, “Reading from client: %s”,strerror(errno));
freeClient(c);
return;
}
} else if (nread == 0) {
redisLog(REDIS_VERBOSE, “Client closed connection”);
freeClient(c);
return;
}
if (nread) {
c->querybuf = sdscatlen(c->querybuf,buf,nread);
c->lastinteraction = time(NULL);
} else {
return;
}
processInputBuffer(c);
}
我想问的是,假设客户端发送命令有32个字节,但是只读取到16个字节,那么read是正常返回16,还是-1(errno为EAGAIN)?谢谢!
16,非阻塞io阿
hoterran 说道:
2011/10/31 13:54
16,非阻塞io阿
How about Node.js?
I think Node.js did more than ngnix, what do you think?
对node.js没怎么了解过,libeio?
ngnix的网络处理模式是很牛的,也是学习的方向.
hi,博主你好,最近阅读redis源代码发现一些问题,希望能与你讨论并学习之,希望看到消息向mail中发个邮件应一声,谢谢。
你好,想问一下您对NOSQL 数据建模熟悉吗?我们公司在招兼职,有兴趣吗?
可以加Q:1980576386,谢谢!
不好意思,不了解。
好多学习的东西哈 现在我们网站遇到了一个问题就是mysql数据库在一天中的某个特殊时间段频繁读写 期间导致网站不能正常访问 请教下 针对这样的问题有什么号的解决方案吗?
你用 https://github.com/hoterran/tcpcollect 抓抓数据看看。