php扩展xdebug基本使用

1.获取文件名,行号,函数名
xdebug_call_class()

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php  
function fix_string($a)
{
echo "Called @ ".
xdebug_call_file().
":".
xdebug_call_line().
" from ".
xdebug_call_function();
}

$ret = fix_string(array('Derick'));
?>

输出:
Called @ /var/www/xdebug_caller.php:12 from {main}

Read More

MySQL性能分析工具profile使用教程

分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和session级别来设置。对于全局级别则作用于整个MySQL实例,而session级别紧影响当前session。该参数开启后,后续执行的SQL语句都将记录其资源开销,诸如IO,上下文切换,CPU,Memory等等。根据这些开销进一步分析当前SQL瓶颈从而进行优化与调整。本文描述了如何使用MySQL profile,不涉及具体的样例分析。

Read More

Mysql PARTITION 数据表分区技术

在这一章节里, 我们来了解下 Mysql 中的分区技术 (RANGE, LIST, HASH)

Mysql 的分区技术与水平分表有点类似, 但是它是在逻辑层进行的水平分表, 对于应用而言它还是一张表, 换句话说: 分区不是实际真正的对一张表进行拆分,分区之后表还是一个表,它是把存储文件进行拆分。

在 Mysql 5.1(后) 有了几种分区类型:

  • RANGE分区: 基于属于一个给定连续区间的列值, 把多行分配给分区

  • LIST分区: 类似于按 RANGE 分区, 区别在于 LIST 分区是基于列值匹配一个离散值集合中的某个值来进行选择

  • HASH分区: 基于用户定义的表达式的返回值来进行选择分区, 该表达式使用将要插入到表中的这些行的列值进行计算, 这个函数可以包含 Mysql 中有效的、产生非负整数值的任何表达式

  • KEY分区: 类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。

Read More

Minify把CSS和JS压缩和削减

Minify把CSS和JS压缩和削减(Minify:去掉空格回车符等),以及把多个CSS,JS文件整合到一个文件里。不要以为你的大带宽没有必要进行这类优化。使用它的理由更重要的是文件合并,而不是压缩,而是文件整合,这样可以减少浏览器端不断发出新的连接请求,就像FTP服务器一样,多个小文件和一个大文件耗时是不一样的。

安 装

  1. 下载最新的Minify然后解压缩到minify目录。
  2. 复制”min”目录到你的DOCUMENT_ROOT.

基本用法

假设你有http://localhost/a.js,http://localhost/b.js 两个文件。那么现在,你可以使用http://localhost/min/?f=a.js,b.js ,看看浏览器返回结果,是不是minify的两个js文件的内容?

Read More