摘要: 实际情况:需要满足QPS=5000的请求,大部分请求来自于几个固定IP,即可以利用keep-alive特性来重复利用TCP连接。系统是CentOS 6一、调整内核参数net.ipv4.tcp_syncookies = 1 #开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理,主要为防止DoS攻击net.core.somaxconn = 2048 #定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认的 128 太小了,建议调大net.ipv4.tcp_tw_reuse = 1 #开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接 阅读全文
posted @ 2013-04-02 01:20 我的白日梦 阅读(7579) 评论(0) 推荐(0) 编辑
摘要: 增加max open files。先查看一下:$ sysctl -a | grep fileskern.maxfiles = 12288kern.maxfilesperproc = 10240修改为$ sudo sysctl -w kern.maxfiles=12288$ sudo sysctl -w kern.maxfilesperproc=10240增加 max sockets$ sysctl -a | grep somaxkern.ipc.somaxconn: 2048$ sudo sysctl -w kern.ipc.somaxconn=2048最后用ulimit -n看一下。跟lin 阅读全文
posted @ 2013-04-02 00:11 我的白日梦 阅读(2275) 评论(0) 推荐(0) 编辑
摘要: 1) wget http://www.maxmind.com/download/geoip/api/c/GeoIP-latest.tar.gz下载最新的c API。如果在MacOSX (Mountain Lion),必须先执行两条export,否则在编译阶段会报错:'sed: RE error: illegal byte sequence'export LC_COLLATE='C'export LC_CTYPE='C'然后编译安装./configure && makesudo make install2)GeoLiteCity.d 阅读全文
posted @ 2013-03-31 13:49 我的白日梦 阅读(653) 评论(0) 推荐(0) 编辑
摘要: perl打印中文字符时,常有Wide character 错误,这是因为在程序中处理中文等宽字符时,perl不能识别要处理的内容。可以通过一下方式on/off,打开关闭,临时允许标记utf-8 flaguse Encode;Encode::_utf8_on($str);Encode::_utf8_off($str);这里还有一个更好的办法:在程序文件的头部加上以下内容:use utf8;binmode(STDIN, ':encoding(utf8)');binmode(STDOUT, ':encoding(utf8)');binmode(STDERR, ' 阅读全文
posted @ 2013-03-18 09:50 我的白日梦 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 两个地方需要修改,首先修改linux系统的ulimit1) ulimit (针对当前登录用户的限制,非针对单个进程) CentOS 默认ulimit -n 是1024,打开的文件数,nginx高并发时超过这个数字,就会报错。可以ulimit -n 65536,不过这只是当前session有效,退出登录后又没用了,要永久有效,需要修改/etc/security/limits.conf* soft nofile 65536 * hard nofile 65536 星号代表全局, soft为软件,hard为硬件,nofile为这里指可打开文件数。把以上两行内容加到 limits.conf文件中即可。 阅读全文
posted @ 2013-03-15 00:14 我的白日梦 阅读(678) 评论(0) 推荐(0) 编辑
摘要: IE在文档未加载完成时调用document.body.appendChild就会出这个问题,即body标签还没有解析完毕并闭合时调用appendChild。解决方式很简单,改成insertBefore。代码如下:if(document.body && document.body.firstChild){ var obj = document.createElement("xxx"); var node = document.body.firstChild; if (node) {node.parentNode.insertBefore(iframe, nod 阅读全文
posted @ 2012-12-08 01:14 我的白日梦 阅读(1428) 评论(2) 推荐(0) 编辑
摘要: 本文以流水账为主,记录在阿里云的全新CentOS 6.2 x86_64上安装adspot相关软件一、SSH登录首先在本机执行,ssh-keygen -t rsa,默认会在~/.ssh/下生成id_rsa(私钥), id_rsa.pub(公钥)。如果已有,就不用再生成。将id_rsa.pub scp到远程服务器~/.ssh/下cat id_rsa.pub >> authorized_keys,将你的公钥追加到authorized_keys中。如果没有这个文件,touch一个。chmod -R 600 ~/.ssh (如果需要的话)二、yum和gccyum install gcc时报错 阅读全文
posted @ 2012-12-08 00:15 我的白日梦 阅读(449) 评论(0) 推荐(0) 编辑
摘要: Bugzilla默认的smtp发送不是TLS(Transport Layer Security,传输层安全,端口587),而这正是gmail采用的认证方法。一、首先通过cpan安装Email::Send::SMTP::TLS二、修改bugzilla源码。切换到您Bugzilla的安装目录,执行以下命令:1) cd Bugzilla2) vim Mailer.pm文件,搜索以下if块:if ($method eq "SMTP") {将其更改为:if ($method eq "SMTP" || $method eq "SMTP::TLS" 阅读全文
posted @ 2012-12-03 23:55 我的白日梦 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 参考: http://hi.baidu.com/alxdbbyzjcbjltq/item/1d7fec16a625410db88a1a55chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是 阅读全文
posted @ 2012-12-03 15:49 我的白日梦 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 1.列出所有可更新的软件清单命令:yum check-update2.安装所有更新软件命令:yum update3.仅安装指定的软件命令:yum install <package_name>4.仅更新指定的软件命令:yum update <package_name>5.列出所有可安裝的软件清单命令:yum list用YUM安装删除软件装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。安装的命令是,yuminstallxxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给 阅读全文
posted @ 2012-10-12 17:45 我的白日梦 阅读(158) 评论(0) 推荐(0) 编辑