作者:linux120
发布时间:December 5, 2012
分类:服务器配置
Mysql数据库生产环境下一般都是采用编译安装,这样性能会有较大的提升,但是源码包默认的编译参数会以debug模式生成二进制代码,该模式给mysql带来的性能损失比较大,所以一定要使用--without-debug参数。
如果把--with-mysqld-ldflags和--with-client-ldflagsliangge canshu shezhi wei --all-static的话,就是使用静态方式编译mysql,此时的性能最高,相比动态链接库要提高10%左右。
所以,建议大家在编译的时候使用--without-debug和--all-static参数。
作者:linux120
发布时间:November 27, 2012
分类:服务器配置
#!/bin/bash
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
rm /root/.dyn*
echo "Setting kernel tcp parameters to reduct DoS effects"
#Reduce DoS'ing ability by reducing timeouts
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog
#ANTISPOOFING
for a in /proc/sys/net/ipv4/conf/*/rp_filter;
do
echo 1 > $a
done
##
#NO SOURCE ROUTE
for z in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
echo 0 > $z
done
#SYN COOKIES
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#echo $ICMP_ECHOREPLY_RATE > /proc/sys/net/ipv4/icmp_echoreply_rate
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "1" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# NUMBER OF CONNECTIONS TO TRACK
echo "65535" > /proc/sys/net/ipv4/ip_conntrack_max
# Set default policies
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F -t mangle
/sbin/iptables -X
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -d 127.0.0.0/8 -j REJECT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
### chains to DROP too many SYN-s ######
/sbin/iptables -N syn-flood
/sbin/iptables -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
/sbin/iptables -A syn-flood -j LOG --log-prefix "SYN flood: "
/sbin/iptables -A syn-flood -j DROP
作者:linux120
发布时间:November 27, 2012
分类:服务器配置
server
{
listen 80;
server_name proxy.linux120.com twitter.com www.twitter.com;
location / {
proxy_pass http://twitter.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
作者:linux120
发布时间:November 27, 2012
分类:服务器配置
检查数据库占用
SELECT table_schema "Database Name", sum( data_length + index_length) / 1024 / 1024
"Database Size(MB)" FROM information_schema.TABLES GROUP BY table_schema ;
检查库表空间占用
SELECT table_name, table_rows, data_length, index_length, round(((data_length + index_length) / 1024 / 1024),2) "Size(MB)" FROM information_schema.TABLES WHERE table_schema = "movies";
作者:linux120
发布时间:November 26, 2012
分类:服务器配置
1、用单引号代替双引号来包含字符串。
2、$row['id']要比$row[id]快。
3、echo 比 print快,使用逗号来拼接。
4、foreach效率要比while\for要高。
5、for循环前就要确认最大循环数。
6、注销已经不用的变量特别是大数组。
7、尽量不使用_get,_set,_autoload
8、include()尽量使用绝对路径。
9、使用SERVER['REQUEST_TIME']要优于time()。
10、尽量应用PHP函数来完成,能用函数完成的就不要使用正则表达式。
11、strtr >> str_replace >> preg_replace
12、switch >> many if~else staments.
13、不要使用@来屏蔽错误,效率太低。
14、开启mod_deflate模块。
15、不要使用pconnect,用完后关闭连接。
16、类如果能static尽量static.
17、引入apc\ea\xcache等PHP OPCODE缓存。
18、使用!isset($strings['5'])来替代strlen($strings)<5.
19、++$i > $i++
20、file_get_contents >>> file/fopen/feof/fgets