Mysql缓存配置

从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当接收到一个和之前同样的查询,服务器将会从缓存中检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间,非常有用。

有时候,虽然你开启了Mysql查询缓存,但是如果你设置的查询缓存大小为0,这和没有开启缓存没什么区别。所以必须正确的设置才能真正打开查询缓存这个功能。

下面我用 mysql6.0 为例演示最常用的查询缓存设置

一: query_cache_type 使用查询缓存的方式

一般,我们会把 query_cache_type 设置为 ON,默认情况下应该是ON

mysql> select @@query_cache_type;
+——————–+
| @@query_cache_type |
+——————–+
| ON |
+——————–+

这样 当我们执行 select id,name from tableName; 这样就会用到查询缓存。

- 阅读剩余部分 -

Linux time_wait 过多的解决方法

今天在查看服务器负载时发现time_wait 非常的高

# netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
      1 established)
      1 State
      6 CLOSING
     11 LAST_ACK
     18 LISTEN
     19 FIN_WAIT1
     36 SYN_RECV
    205 FIN_WAIT2
    296 ESTABLISHED
   7202 TIME_WAIT

解决方法:

1、编辑 /etc/sysctl.conf 文件:

net.ipv4.tcp_syncookies = 1
#开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭

net.ipv4.tcp_tw_reuse = 1
#开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭

net.ipv4.tcp_tw_recycle = 1
#开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭

net.ipv4.tcp_fin_timeout = 30
#修改系统默认的 TIMEOUT 时间

然后执行

/sbin/sysctl -p

使修改生效。

- 阅读剩余部分 -

iptables: Setting chains to policy ACCEPT: security raw nat[FAILED]filter

今天在配置Linode VPS上的Centos 6.4系统的防火墙的时候,遇到以下错误:

Setting chains to policy ACCEPT: security raw nat[FAILED]filter

原因是由于Linode官方在iptables里加了一个security的规则链,但Centos不支持。

解决方法:
编辑/etc/init.d/iptables,找到:

for i in $tables; do
    echo -n "$i "
    case "$i" in

在“case "$i" in”下面插入:

  security)
    $IPTABLES -t filter -P INPUT $policy \
        && $IPTABLES -t filter -P OUTPUT $policy \
        && $IPTABLES -t filter -P FORWARD $policy \
        || let ret+=1
    ;;

- 阅读剩余部分 -

飞飞影视系统2.x自定义播放页静态路径

1、找到 /Lib/Lib/Action/Admin/CreateAction.class.php 第361行

//路径替换与生成
$player_dir_ji = preg_replace('/play-([0-9]+)-([0-9]+)-([0-9]+)/i','play-$1-'.$arr_sid[1].'-'.($pid+1).'',$player_dir);

修改为:

//路径替换与生成
$player_dir_ji = preg_replace('/([0-9]+)-([0-9]+)/i',$arr_sid[1].'-'.($pid+1).'',$player_dir);

2、找到 /Lib/Common/common.php 第777行

//播放页静态生成结构
function ff_play_url_dir($id,$sid,$pid,$cid,$name){
    $playdir = str_replace_dir(C('url_play'),$id,$cid,$name);
    if(C('url_html_play') == 2){
        $playdir .= '-'.$id.'-'.$sid.'-'.$pid;
    }    
    return $playdir;
}

修改为:

- 阅读剩余部分 -