July 6, 2010
提高AJAX客户端响应速度
"AJAX的出现极大的改变了Web应用客户端的操作模 式,它使的用户可以在全心工作时不必频繁的忍受那令人厌恶的页面刷新。理论上AJAX技术在很大的程度上可以减少用户操作的等待时间,同时节约网络上的数 据流量。而然,实际情况却并不总是这样。用户时常会抱怨用了AJAX的系统响应速度反而降低了。 笔者从事AJAX方面的研发多年,参与开发了目前 国内较为成熟的AJAX平台-dorado。根据笔者的经验,导致这种结果的根本原因并不在AJAX。很多时候系统响应速度的降低都是由不够合理的界面设 计和不够高效的编程习惯造成的。下面我们就来分析几个AJAX开发过程中需要时刻注意的环节。\n合理的使用客户端编程和远程过程调用。 客户端的编程主要都是基于JavaScript的。而JavaScript是一种解释型 的编程语言,它的运行效率相对于Java等都要稍逊一筹。同时JavaScript又是运行在浏览器这样一个严格受限的环境当中。因此开发人员对于哪些逻 辑可以在客户端执行应该有一个清醒的认识。 在实际的应用中究竟应该怎样使用客户端编程,这依赖于开发人员的经验判断。这里很多问题是只可意会的。 由于篇幅有限,在这 …"
July 6, 2010
FreeBSD查看即时网络流量
"1、数据包 “netstat 1″一秒钟累计一次,”netstat 2″两秒钟累计一次。依此类推\n2、查看网 卡流量:”systat -if 1″每秒钟刷新一次,”systat -if 2″两秒钟刷新一次,依此类推"
July 6, 2010
MySQL压力测试工具 mysqlslap 使用简介
"MySQL从5.1.4版开始带有一个压力测试工具 mysqlslap,通过模拟多个并发客户端访问 mysql来执行测试,使用起来非常的简单。通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考 官方手册。\n–auto-generate-sql, -a\n自动生成测试表和数据\n–auto-generate-sql-load-type=type\n测试语句的类型。取值包括:read,key,write,update和mixed(默认)。\n–number-char-cols=N, -x N\n自动生成的测试表中包含多少个字符类型的列,默认1\n–number-int-cols=N, -y N\n自动生成的测试表中包含多少个数字类型的列,默认1\n–number-of-queries=N\n总的测试查询次数(并发客户数×每客户查询次数)\n–query=name,-q\n使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。\n–create-schema\n测试的schema,MySQL中schema也就是database\n–commint=N\n …"
July 5, 2010
linux scp 命令
"在 linux 之间复制 文件\n安装方法:\nyum -y install openssh-clients\nlinux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;\n================== scp 命令 scp 可以在 2个 linux 主机间复制文件;\n命令基本格式: scp [可选参数] file_source file_target\n====== 从 本地 复制到 远程 复制文件: 命令格式: scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者 scp local_file remote_ip:remote_file 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名; 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个 …"
July 3, 2010
FreeBSD 修改默认SHELL
"FreeBSD下默认的shell为CSH,可以通过命令 echo $SHELL来查看系统默认的shell是哪一个的。\n显示自己所使用的SHEEL命令: ps或echo $SHELL 修改默认SHELL为csh name:是指你登陆的名称\npw usermod -n name -s csh\n查看所有支持的shell\nfreebsd# cat /etc/shells /bin/sh /bin/csh /bin/tcsh\n到于bash的安装请参考:"
July 2, 2010
mysql中的max_connect_errors
"连接mysql server出来这个信息\n引用\nmessage from server: “Host ‘HP-2B6E9EC1747B’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts\u0026rsquo;”\n连接次数失败过多,并超过max_connect_erros的值后,服务器会直接拒绝来源机器的所有连接,只要把mysql server默认 max_connect_errors = 10 把这个值设置大点就好了,记得一定要执行mysqladmin flush-hosts命令来解锁,原来的主机才可以恢复正常连接的."
July 2, 2010
MySQL之Handler_read_*
"在MySQL里,我们一般使用 SHOW STATUS 查询服务器状态,语法一般来说如下:\nSHOW [GLOBAL | SESSION] STATUS [LIKE ‘pattern’ | WHERE expr]\n执行命令后会看到很多内容,其中有一部分是Handler_read_*,它们显示了数据库处理SELECT查询语句的状态,对于调试SQL语句有很大意 义,可惜实际很多人并不理解它们的实际意义,本文简单介绍一下:\n为了让介绍更易懂,先建立一个测试用的表:\nCREATE TABLE IF NOT EXISTS foo (\nid int(10) unsigned NOT NULL auto_increment,\ncol1 varchar(10) NOT NULL,\ncol2 text NOT NULL,\nPRIMARY KEY (id),\nKEY col1 (col1)\n);\nINSERT INTO `foo` (`id`, `col1`, `col2`) VALUES (1, ‘a’, ‘a’), (2, ‘b’, ‘b’), (3, ‘c’, ‘c’), (4, ‘d’, ‘d’), …"
July 2, 2010
根据status信息对MySQL服务器进行优化[精典]
"对于SQL查询语句对于服务器系统资源的使用情况见:发现瓶颈 – Profiling(程序剖析) -MySQL Profiling\n网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的 情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。\nmysql\u0026gt; show global status;\n可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句:\nmysql\u0026gt; show variables;\n一、慢查询\nmysql\u0026gt; show variables like ‘%slow%’; +——————+——-+ | Variable_name | Value | +——————+——-+ | log_slow_queries | ON | | slow_launch_time | 2 | +——————+——-+\nmysql\u0026gt; show global status like ‘%slow%’; …"
July 2, 2010
mysql优化的重要参数 key_buffer_size table_cache 分享
"MySQL服务器端的参数有很多,但是对于大多数初学者来说,众多的参数往往使得我们不知所措,但是哪些参数是需要我们调整的,哪些对服务器的性能影响最大呢?对于使用Myisam存储引擎来说,主要有key_buffer_size和table_cache两个参数。对于InnoDB引擎来说主要还是以innodb_开始的参数,也很好辨认。 查看MySQL参数,可以使用show variables和show status命令查看,前者查看服务器静态参数,即在数据库启动后不会动态更改的值,比如缓冲区、字符集等。后者查看服务器的动态运行状态信息,即数据库运行期间动态变化的信息,比如锁,当前连接数等。\nkey_buffer_size这个参数是用来设置索引块(index blocks)缓存的大小,它被所有线程共享,严格说是它决定了数据库索引处理的速度,尤其是索引读的速度。那我们怎么才能知道key_buffer_size的设置是否合理呢,一般可以检查状态值Key_read_requests和Key_reads,比例key_reads / key_read_requests 应该尽可能的低,比 …"
July 1, 2010
MYSQL慢查询日志分析
"Mysql5.5慢查询开启有些改变,在my.cnf的 [mysqld] section 添加以下几行即可.注意一定要在[mysqld]块,否则不起作用.\nlong_query_time = 0.001 slow-query-log = ON slow_query_log_file = /usr/local/mysql/data/slow.log log-queries-not-using-indexes = on\n===================================================\nmysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数。 如果在my.cnf里面修改,需增加如下几行\nlong_query_time = 10 slow_query_log = /var/log/slow.log\nlong_query_time 是指执行超过多久的sql会被log下来,这里是10秒。 slow_query_log 设置把日志写在那里,为空的时候,系统会 …"