Mysql优化配置

一、环境介绍

Mysql版本:5.5.27

二、优化内容

字段 介绍 推荐值
skip-locking 避免MySQL的外部锁定,减少出错几率增强稳定性
back_log MySQL可能的连接数量(linux下推荐小于512) 384
key_buffer_size key_buffer_size指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能。对于内存在4GB左右的服务器该参数可设置为256M或384M。注意:该参数值设置的过大反而会是服务器整体效率降低! 4G服务器 256M
max_allowed_packet 当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接 4M
thread_stack 主要用来存放每一个线程自身的标识信息,如线程id,线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一个线程栈分配多大的内存 192kb
table_cache 表高速缓存的数目 512
sort_buffer_size n第一次需要使用这个buffer的时候,一次性分配设置的内存 512K
read_buffer_size 读查询操作所能使用的缓冲区大小 4M
join_buffer_size 联合查询操作所能使用的缓冲区大小 8M
myisam_sort_buffer_size 当在REPAIR TABLE或用CREATE INDEX创建索引或ALTER TABLE过程中排序 MyISAM索引分配的缓冲区。 64M
thread_cache_size 表示可以重新利用保存在缓存中线程的数量,当断开连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,(3G以上内存推荐为64) 64
query_cache_size 查询缓存区的最大长度 64M
tmp_table_size 如果一张临时表超出该大小,MySQL产生一个 The table tbl_name is full 形式的错误 256M
max_connections 最大用户连接数 最大连接数占上限连接数的85%左右 3000
max_connect_errors 它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。max_connect_errors的值与性能并无太大关系 10000000
wait_timeout 指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设置为5-10。 10
thread_concurrency 该参数取值为服务器逻辑CPU数量×2 4
innodb_log_file_size 如果对 Innodb 数据表有大量的写入操作,那么选择合适的 innodb_log_file_size 值对提升MySQL性能很重要 256M
innodb_log_buffer_size 事务日志文件写操作缓存区的最大长度 8M
innodb_flush_logs_at_trx_commit 1) =1时,在每个事务提交时,日志缓冲被写到日志文件,对日志文件做到磁盘操作的刷新。Truly ACID。速度慢。2) =2时,在每个事务提交时,日志缓冲被写到文件,但不对日志文件做到磁盘操作的刷新。只有操作系统崩溃或掉电才会删除最后一秒的事务,不然不会丢失事务。3) =0时, 日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新。任何mysqld进程的崩溃会删除崩溃前最后一秒的事务 2
innodb_buffer_pool_size innodb_buffer_pool_size 定义了 InnoDB 存储引擎的表数据和索引数据的最大内存缓冲区大小 在专用数据库服务器上,可以考虑该值为物理内存大小的 60%-80% 1G
innodb_additional_mem_pool_size 除了缓存表数据和索引外,可以为操作所需的其他内部项分配缓存来提升InnoDB的性能。这些内存就可以通过此参数来分配。推荐此参数至少设置为2MB 2M

Read More

discuz x2.5用户注册后邮箱认证后无法收到邮件或者直接进垃圾箱

又是一个周末,jquery特效继续折腾我那discuz论坛,我开启了个邮箱验证,恶意注册的太恶心了,没有办法。

能稍微屏蔽点,但是问题来了,据亲们反应,无法收到验证邮件,或者有时间直接进入垃圾箱,这个太悲催了。对咱论坛影响不好。

参考达人们的方法改个试试可以安全收到验证邮件,特此留点字迹,方法以后他人阅读。

Read More

{ldelim},{rdelim} - smarty 内建函数

{ldelim}和{rdelim}用来转义模板的分隔符,缺省为{和}。你也可以用{literal}{/literal}来转义文本块(如Javascript或CSS)。
例: {* 在模板外将原样打印分隔符 *}

{ldelim}funcname{rdelim} is how functions look in Smarty!

上例将输出:{funcname} is how functions look in Smarty!

{$smarty.ldelim},{$smarty.rdelim}: 这些变量用来打印左分隔符和右分隔符,类似{ldelim},{rdelim}。

jQuery实现CheckBox全选、反选、全不选

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>jQuery实现CheckBox全选、全不选</title>
<script src="http://code.jquery.com/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#checkAll").click(function() {
$('input[name="subBox"]').attr("checked", this.checked);
});
var $subBox = $("input[name='subBox']");
$subBox.click(function() {
$("#checkAll").attr("checked", $subBox.length == $("input[name='subBox']:checked").length ? true: false);
});
});
</script>

</head>
<body>
<div>
<input id="checkAll" type="checkbox" />全选
<input name="subBox" type="checkbox" />项1
<input name="subBox" type="checkbox" />项2
<input name="subBox" type="checkbox" />项3
<input name="subBox" type="checkbox" />项4
</div>
</body>
</html>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>全选,不全选,反选</title>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$(function () {
$("#selectAll").click(function () {//全选
$("#playList :checkbox").prop("checked", true);
});

$("#unSelect").click(function () {//全不选
$("#playList :checkbox").prop("checked", false);
});

$("#reverse").click(function () {//反选
$("#playList :checkbox").each(function () {
$(this).prop("checked", !$(this).prop("checked"));
});
});
});
</script>
</head>
<body>
<div id="playList">
<input type="checkbox" value="歌曲1" />歌曲1<br />
<input type="checkbox" value="歌曲2" />歌曲2<br />
<input type="checkbox" value="歌曲3" />歌曲3<br />
<input type="checkbox" value="歌曲4" />歌曲4<br />
<input type="checkbox" value="歌曲5" />歌曲5<br />
<input type="checkbox" value="歌曲6" />歌曲6
</div>
<input type="button" value="全选" id="selectAll" />
<input type="button" value="全不选" id="unSelect" />
<input type="button" value="反选" id="reverse" />
</body>
</html>

注:JQuery1.9以上版本,全选/反选功能实现,建议将attr属性换成prop,否则:第一次页面加载全选是可以,取消几个不选,再点【全选】就没有效果。