- 博客(14)
- 收藏
- 关注
原创 python中关于socket的timeout设置的问题
今天发使用urllib2请求http时, 发现超时时间与设置的不一致。例如下面的代码httpreq.request('http://www.baidu.com', timeout=1),将80端口使用iptables封掉后,发现要2秒才能超时,与设置的1不相符。抓包分析有两次连接,但不解为什么会连接两次,难道是重试机制?跟踪了一下代码,发现最终会调用socket.create_connec
2013-11-14 11:12:59 26362
原创 为什么main函数的局部变量的地址每次运行不一样?
现象:下面代码,每次执行时,发现i的地址都不一样,j的地址每次相同。#include int j;int main(void){ int i; printf("%p %p\n", &i,&j);}j是在链接期间就确定了,所以地址是固定的。这点没什么疑问。但为什么i的地址不一样呢?i是函数调用栈的第一个变量,如果栈基址每次运行一样的话,j的地址
2013-10-22 19:06:18 2734 1
原创 mongod最大连接数问题
最近发现连接mongod经常被close,查看服务端日志显示connection refused because too many open connections。但奇怪的是当前连接才818个,而mongod的连接数明明设置的是10000,查看ulimi -n是32767,查明原因后发现是,mongod是随机启动的,放在init.d下,在运行这些服务的时候还不会加载limits.conf 的
2013-06-28 18:48:14 815
原创 分布式服务超时问题
最近发现有一次启动mongos需要特别久,查明原因后发现是超时时间过长导致。因为后端三台configdb中的一台死机,mongos启动时会去分别连接这几台configdb,在connect这台机器的时候,由于机器无响应,导致超时后才能返回,这样启动时间超过了一分钟。而且在查询mongos的时候,有些命令(show dbs)也会阻塞很久,因为要同步从configdb取结果。解决办法可以将操作
2013-06-28 18:39:39 1652
原创 一个mongo php sdk长连接的问题
问题:当使用php driver进行压测的时候,有时候发现会出现异常,出现No candidate servers found的错误。环境:server端用了三台机器做replicaSet,mongod用的机器名标识。 php driver在new Mongoclient时使用array('readPreference' => MongoClient::RP_NEAREST, 'replica
2013-05-27 18:04:08 4384 2
原创 mongo php sdk 阅读笔记(连接)
1 将servers的地址,选项解析出来后,具体的连接函数为mongo_get_connection_single(mcon/manager.c)2 如果最近连接失败过的机器会加入黑名单,在短时间内不会去重试这台机器(默认是5秒)3 每次取到连接后会ping一次,如果失败将连接置空,也不会重连(逻辑不太好,应该重连)static mongo_connection *mongo_ge
2013-05-21 19:26:01 1635
转载 在共享内存中实现hash表
最近需要在php的共享内存之间使用kv存东西,找了一个开源的hashtable,挺实用的:lhttp://www.qdecoder.org/qlibc/reference/qlibc/qhasharr_8c.html
2013-04-27 16:51:46 2162
原创 linux 开发 tips
vim:当用vim编辑一个没有权限的文件无时,可以用 w !sudo tee % 强制保存,而不用退出后再sudo vim file
2013-04-23 16:24:14 427
转载 linux性能调优工具
转自:点击打开链接nicstat: 参见 这里oprofile: 参见 这里perf: 参见 这里systemtap: 参见 这里iotop: 参见 这里blktrace: 参见 这里dstat: 参见 这里strace: 参见 这里pidstat: 参见 这里vmstat: 参见 这里slabtop: 参见 这里tcpdump: 参见 这里free: 参见 这里mpstat:
2013-04-21 20:15:06 419
转载 Quick Benchmark: Gzip vs Bzip2 vs LZMA vs XZ vs LZ4 vs LZ
转自:http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZOSelected archivesI have selected:Source of the kernel to test source compressionStre
2013-04-21 19:41:01 2192
转载 没有可靠的云服务
http://blog.hendrikvolkmer.de/2013/04/03/there-will-be-no-reliable-cloud-part-1/
2013-04-15 16:33:23 435
原创 警惕由eAccelerator导致的Apache进程崩溃
警惕由eAccelerator导致的Apache进程崩溃 一、现象描述某业务在访问量增大后,其服务器出现了Apache的worker进程频繁发生段错误退出的现象,查看error_log发现有如下记录:[notice] child pid 17109 exit signal Segmentation fault (11) 二、示例经过排查,发现在高并发时,eAcceler
2013-04-03 19:03:20 789 2
原创 一个fread失败时处理不当引发的crash
最近发现一次web机上的agent程序crash了,通过对日志分析,发现是代码中对fread使用理解有误导致。agent程序的作用是实时收集web机上的某消息文件,然后转发到消息服务器上。在web请求中业务如果需要发送消息,则会将消息写入消息文件中,消息文件的格式为msg1_len:msg1_data:msg2_len:msg2_data...//该函数每次从文件中取一条消息#define
2013-04-03 16:42:14 2520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人