innodb_buffer_pool_size
如果用Innodb,那么这是一个重要变量。相对于MyISAM来说,Innodb对于buffer size更敏感。MySIAM可能对于大数据量使用默认的key_buffer_size也还好,但Innodb在大数据量时用默认值就感觉在爬了。 Innodb的缓冲池会缓存数据和索引,所以不需要给系统的缓存留空间,如果只用Innodb,可以把这个值设为内存的...
-
针对mysql写入的优化设置
[FreeBSD]post by Holmesian / 2011-8-31 9:58 Wednesday -
FreeBSD在ESXi的虚拟环境下php-cgi性能极差
[FreeBSD]post by Holmesian / 2011-5-7 10:36 Saturday五一的时候yycrazy本来准备对服务器上的应用进行一次分离操作,但是由于极差的网络性能铩羽而归。自从五一过后服务器一直处于极度不稳定状态:系统不定期并且毫无征兆的所有phpcgi进程突然卡死导致CPU负载飙升并导致全站所有动态内容访问很慢且最终全线奔溃。
一开始找了很多资料尝试了很多方法都没有明显的好转,因为没有任何一定的触发条件,并且所有等级的日志和监控都无法记录任何蛛丝马迹,所以一时很难做出准确判断。无意之中在网上看到有TX反应Discuz X 1.5在nginx+php-cgi环境下使用manyou应用的时候很容易导致php-cgi进程高负载运作大量消耗CPU资源,于是尝试将开启的Discuz X1.5的manyou应用关闭,发现问题有很大的缓解,本来以为已经解决了,但是第二天凌晨时再度出现毫无征兆的所有phpcgi进程突然卡死让我无奈地之后从更底层的角度去考录解决的办法。
经过漫长的排查与测试最终发现问题出在/boot/loader.conf中的设置上,一开始安装FreeBSD的时候顺手copy了之前的一份优化过的loader.conf配置的一部分,里面有一个参数 kern.ipc.nmbclusters="0" ,本来只是将nmbclusters设置成无限制,但是问题就出在只copy了一部分:因为kern.ipc.nmbclusters被设置成 0 的情況下,net.inet.tcp.reass.maxsegments 参数也跟着一同被设置成 0 了。net.inet.tcp.reass.maxsegments被设置成0之后在有大量 TCP out-of-order 封包的网络情况下,FreeBSD的性能将会变得极差而且整个系统会非常的脆弱,在出现问题的时候用netstat查看连接信息可以发现packets discarded due to memory problems的计数相当之多而 TCP out-of-order的计数永远为0。
-
negative sbsize for uid问题
[FreeBSD]post by Holmesian / 2011-3-16 8:01 Wednesday -
Mysql缓解Copying to tmp table on disk状态
[FreeBSD]post by Holmesian / 2011-3-14 18:26 MondayFreeBSD8.0+Nginx+FastCG+Mysql5.0的环境,本来跑Dedecms+Discuz!+UChome一切运转良好,后来升级到Discuz X1.5,由于合并之后Discuz X 1.5中有某个单表超过1G,偶尔会出现论坛不能访问的情况。
经检查不能访问时Nginx状态良好,只是reading数和writing数飙升,php-cgi进程大量提示sbwait状态,mysql负载居高不下,在mysql中运行show proceslist;得到回显如下
-
FreeBSD用Automysqlbackup备份mysql数据库
[FreeBSD]post by Holmesian / 2010-12-6 14:29 MondayAutomysqlbackup是一个非常不错的轻量级Mysql自动备份脚本,你可以在http://sourceforge.net/projects/automysqlbackup/files/AutoMySQLBackup/下载到最新的版本,经过简单的配置之后添加到系统的周期执行列表中去即可简单实现mysql自动备份的功能。但是这么一个简洁而强大的工具在FreeBSD下使用的时候会提示如下的错误...
-
FreeBSD下测试硬盘传输速度 diskinfo
[FreeBSD]post by Holmesian / 2010-12-4 15:28 Saturday很好用的工具 diskinfo -tv da0
da0是磁盘名
- da0
- 512 # sectorsize
- 5368709120 # mediasize in bytes (5.0G)
- 10485760 # mediasize in sectors
- 652 # Cylinders according to firmware.
- 255 # Heads according to firmware.
- 63 # Sectors according to firmware.
- Seek times:
- Full stroke: 250 iter in 1.570215 sec = 6.281 msec
- Half stroke: 250 iter in 1.853518 sec = 7.414 msec
- Quarter stroke: 500 iter in 5.152832 sec = 10.306 msec
- Short forward: diskinfo: read error or disk too small for test.: No such file or directory
- #diskinfo -tv da0
- da0
- 512 # sectorsize
- 26843545600 # mediasize in bytes (25G)
- 52428800 # mediasize in sectors
- 3263 # Cylinders according to firmware.
- 255 # Heads according to firmware.
- 63 # Sectors according to firmware.
- Seek times:
- Full stroke: 250 iter in 3.402582 sec = 13.610 msec
- Half stroke: 250 iter in 3.133905 sec = 12.536 msec
- Quarter stroke: 500 iter in 5.943346 sec = 11.887 msec
- Short forward: 400 iter in 3.128173 sec = 7.820 msec
- Short backward: 400 iter in 2.822509 sec = 7.056 msec
- Seq outer: 2048 iter in 1.325654 sec = 0.647 msec
- Seq inner: 2048 iter in 0.905938 sec = 0.442 msec
- Transfer rates:
- outside: 102400 kbytes in 1.252566 sec = 81752 kbytes/sec
- middle: 102400 kbytes in 0.949189 sec = 107882 kbytes/sec
- inside: 102400 kbytes in 0.993947 sec = 103024 kbytes/sec
-
FreeBSD查看当前外部网络连接情况
[FreeBSD]post by Holmesian / 2010-11-17 16:18 Wednesday手机上一直收到来自服务器的负载过高报警短信,上服务器检查后发现被同一内网IP的机器DoS了,找出问题所在之后在ipf中添加上了禁止DoS主机的源IP,整个系统的负载瞬间就下来了,php-cgi进程也都空闲了。同一网段的IP还不知道是谁么,机房里就那么几台服务器,不是被入侵的话那就是有人搞鬼了…… 不知道哪位TX这么有闲情做这么些无聊之事,如果相当有闲情的话不妨联系一下我。
顺便记录一下FreeBSD下常用的统计当前系统网络连接状态的一些命令:
-
FreeBSD下IP Filter NAT机理分析
[FreeBSD]post by Holmesian / 2010-11-5 20:04 Friday摘 要:本文依托cnfug开发的Floppy Firewall为平台,以嗅探器抓包分析结合相应的路由转发规分析IPFilter对数据报进行转发和NAT的机理,最终针对实际案例的需求提出解决方案。
关键词:NAT FreeBSD 嗅探器 TCP/IP