openwrt自动重拨直到得到想要的ip

发布时间:2015-08-29 3 Comments

因为ipv4资源紧张,国内ipv6又迟迟没有普及.导致一些运营商用公网ip和私网ip混合使用.甚至完全私网.
完全私网没办法啦,只能换运营商.混用的这些(比如移动铁通),如果确实有公网ip需要.可以用一些技术手段实现.

阅读剩余部分...

apache配置参数和系统资源占用的关系

发布时间:2015-08-15 1 Comment

一般服务器都是使用mpm_prefork模式.我们可以确认一下自己的服务器是什么模式
运行

apachectl -l

如果看到prefork.c字样.说明服务器运行的就是mpm_prefork模式
在此模式下.服务器硬件配置和apache配置的关系是怎样的呢.
假定我们网站都是放置的html文件.那么,MaxClients的值和内存的关系就是1:20MB,(这是宽松的算法,你也可以按16MB算)比如服务器有4GB内存,那么我们可以开4096/20=204.8约等于200.因为是宽松算法,系统占用内存就忽略了.根据计算结果,我们MaxClients设置为200是比较安全的值.如果你想多一些最多可以设置为300不过这样你就要经常关注服务器状态了,说不定什么时候就死了.
除了这个,还有MaxRequestsPerChild也是比较重要的,最好不要设置为0,内存小的设置小一些,内存大的设置大一些.
实际使用中,我们往往不会只有html文件.一般是php并且连接了mysql所以还要考虑他们的cpu和内存占用.
根据我的观察,每核心带100并发是没什么压力的.多一些带300也能做到,不过就卡了.
所以一个16核32GB的服务器配置好可以无压力的带1600并发.超一些带2000+也是可以的,不过有点卡.

疯狂的fuser,狂吃资源

发布时间:2015-08-15 No Comments

服务器总是有很多fuser进程,相当占资源,找了好久.终于找到原因了.
在/etc/cron.d/php5文件里有一句话

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null ; -delete

就是这句,如果网站访问的人多,就会出现很多fuser.我们只需删除其中的! -execdir fuser -s {} 2>/dev/null ;改为

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete

即可解决问题.