- 博客(22)
- 资源 (5)
- 收藏
- 关注
转载 如何编写高性能的 MySQL 语句
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其
2008-09-26 21:28:00 1768
转载 InnoDB的性能调优(二)
1. 如果 Unix top 或 Windows 任务管理器(Task Manager) 显示服务的 CPU 占用率小于 70%,(shows that the CPU usage percentage with your workload is less than 70 %,)你的系统瓶颈可能在磁盘读写上。或许你提交了大量的事务,或者是缓冲池(buffer pool)太小了。将缓冲池设大点会有所
2008-09-26 21:26:00 1538
转载 InnoDB的性能调优(一)
性能调优的几个提示: 1. 如果 CPU 资源利用率小于 70% 的话,你的负载可能是由于磁盘引起的,可能有太多的事务提交,或者缓冲池太小。建议增加缓冲池。 2. 把多个修改包在一个事务里面, InnoDB 每次提交事务需要刷新日志到磁盘,而磁盘的速度和 CPU 相比一般都很慢,因此,建议不要频繁提交事务。 3. 如果你能承受最近几个事务的丢失,建议设置 innodb_flush_log_at_t
2008-09-26 21:25:00 2607
转载 通过零拷贝实现有效数据传输
<!--document.write(打印本页);//--> <!--document.write(将此页作为电子邮件发送);//--> 未显示需要 JavaScript 的文档选项
2008-09-24 12:28:00 1833
原创 DOS 和Unix 文件--vim转化
很久以前,老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车, ),另一个字符把纸上移一行 (称为换行, )。 当计算机问世以后,存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示 行尾。UNIX 开发者决定他们可以用 一个字符来表示行尾。Apple 开发者 规定了用 。开发 MS-DOS (以及微软视窗) 的那些家伙则决定沿用老式的。 那意味着,如果你试
2008-09-23 10:43:00 9523
原创 解决MySQL堵塞问题INSERT DELAYED
由于对MySQL的并发插入数据能力没有一个很好的评估,因此在些多进程并发程序时,忽略了MySQL的堵塞问题 以至程序时不时因为MySQL的堵塞,导致子进程一直在等待MySQL释放堵塞,完成INSERT 指令。故障现象:堵塞的子进程都是 sbwait 状态 父进程,一直在等待子进程结束,是wait状态 如果不手工kill掉堵塞的子进程,这些进程一直存在 原因排查:
2008-09-18 23:28:00 2594 1
转载 mysql增量、全量备份
你是否在寻找一个mysql备份脚本?适合对象 本文是在linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本. 本文适合于没有启动复制功能的mysql,如果启动了复制,可能不需要采取这种备份策略或者需要修改相关参数. 每个人的备份策略都可能不同,所以请根据实际情况修改,做到举一反三,不要照搬照抄,可能会造成不必要的损失.
2008-09-18 20:19:00 3783
转载 关于改变innodb_log_file_size后无法启动mysql的问题
关于改变innodb_log_file_size后无法启动mysql的问题 最近在看MYSQL优化的参数,改了innodb_log_file_size参后,启动下面报错,然来是改了这个参数后需要关闭MYSQLSQL删除ib_logfile0, ib_logfile1这些文件,再启动MYSQL。080622 10:53:27 mysqld_
2008-09-18 20:12:00 2551
原创 perl对中文的处理(encode,decode)
最近在处理中文时遇到乱码的问题,google了一下,发现下面这篇文章。茅塞顿开! Perl从5.6开始已经开始在内部使用utf8编码来表示字符,也就是说对中文以及其他语言字符的处理应该是完全没有问题的。我们只需要利用好Encode这个模块便能充分发挥Perl的utf8字符的优势了。 下面就以中文文本的处理为例进行说明,比如有一个字符串"测试文本",我们想要把这个中文字符串拆成
2008-09-18 19:38:00 6125
转载 MySQL安装后需要调整什么(大欢乐 译)
原文连接 http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/ 面对MySQL的DBA或者做MySQL性能相关的工作的人,我最喜欢问的问题是,在MySQL服务器安装后,需要调整什么,假设是以缺省的设置安装的。 我很惊讶有非常多的人没有合理的回答,很多的MySQL
2008-09-18 17:42:00 1414
转载 linux下的bash与sh 详解以及例子
背景:经常会遇到bash执行ok,sh执行失败的情况 即使sh 软连接到 bash也会失败 解决办法: shell脚本写明 #!/bin/bash 原因如下:1、bash的POSIX标准在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式(等效于bash的 --posix 参数)一般的,
2008-09-18 16:45:00 10539
原创 非常强大的文件比较工具:Vimdiff
各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff。希望能对在 Unix/Linux 系统上进行开发的朋友有所帮助。源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分。现在市场上很多功能很强大的专用比较和合并工具,比如 BeyondCompare;很多IDE 或者
2008-09-18 16:40:00 6709
原创 linux下线程调用sleep,进程挂起
在linux下调用sleep是用时钟的,一个进程的时钟系统是有限制的.如果每个线程使用sleep,到了最大的数量,最终会进程会挂起.最好是用select取代 void select_sleep(int i){ struct timeval timeout; timeout.tv_sec = i; timeout.tv_usec = 0; select( 0, NULL, NUL
2008-09-15 13:05:00 4871
原创 Linux内核模块编程
摘要Linux内核模块编程的资料有些纷繁复杂,有的过于简单,有的过于庞杂,我试图用笔记的形式想读者展示怎样来进程Linux模块编程,力图做到简明扼要,这篇文章也是作为本人备忘的资料,所以有些地方过于简略是难免的。本来这篇文章的目的就是让用户知其然,至于所以然还是请参考相应的资料,其实最好的资料莫过于Linux Kernel Source。 适用范围: Linux Kernel
2008-09-13 22:04:00 2410
转载 linux内核的文件描述
我们在进程中要怎样去描述一个文件呢?我们用目录项(dentry)和索引节点(inode)。它们的定义如下:struct dentry {struct inode *d_inode; /* Where the name belongs to - NULL isstruct dentry
2008-09-13 20:32:00 1794
原创 No space left on device的原因
看到这个错误,第一个反应是磁盘空间满了;但 df 一看,每个分区的空间都还富余的很。从 munin 的监控图表上看 Filesystem usage 也很平稳,但下面的 Inode usage 就有问题了,其中一个分区的 usage 已经到了100%。赶紧跑到服务器上 df -i 检查,果然是 Inode 耗尽。原来这个分区是用来扔各种日志和临时文件的,其中有某个程序产生的临时文件又小又多,又没有
2008-09-12 12:45:00 1779
原创 28条讨人喜欢的原则
1.长相不令人讨厌,如果长得不好,就让自己有才气;如果才气也没有,那就总是微笑。2.气质是关键。如果时尚学不好,宁愿纯朴。3.与人握手时,可多握一会儿。真诚是宝。4.不必什么都用“我”做主语。5.不要向朋友借钱。6.不要“逼”客人看你的家庭相册。7.与人打“的”时,请抢先坐在司机旁。8.坚持在背后说别人好话,别担心这好话传不到当事人耳朵里。9.有人在你面前说某人坏话时,你只微笑。10.自己开小车
2008-09-03 21:19:00 1032
转载 Linux下的动态连接库及其实现机制
摘 要:本文介绍了动态连接库的优点,详细阐述了x86体系结构上Linux系统的编译器、连接器、加载器如何使用多种重定位方式来实现该功能关键词:动态连接库;Linux;重定位The Implementation Mechanism of DLL under Linux【Abstract】In this paper, we discuss the advantage of using dynamic
2008-09-03 21:12:00 1299
原创 Elf文件图形详解
ELF文件结构是这样的: +-------------------+| ELF文件头 || |+-------------------+| 程序头 || (c0h字节) |+-------------------+| 程序节 #1 |+-------------------+| 程序节 #2 |+-------------
2008-09-03 20:58:00 1642
原创 今日自动化测试超时问题总结
结构: web---->proxy---->server1 | |--------->server2 web端测试好多5秒以上的超时,server1,server2日志显示,每个请求处理都是100毫秒左右怀疑是web和proxy之间有点问题 登录proxy,netstat之后发现,句柄都达到了1k多,
2008-09-03 14:10:00 1554
原创 关于空的class的size问题
看一下一个有趣又经典的例子:class A{};class B:public virtual A{};class C:public virtual A{};class D:public B,public C{};//以下结果和编译器相关,对于部分编译器,可能会出现下面的结果sizeof A; //结果为1sizeof B; //结果为8sizeof C; //结果为8sizeof D; /
2008-09-03 14:06:00 1821
转载 socket封包和拆包
作者:fengge8ylf 博客:http://blog.csdn.net/fengge8ylf对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.自从我从事网络通讯编程工作以来(大概有三年的时间了),我一直在思索和改进封包和拆包的方法.下面就针对这个问题谈谈我的想法,抛砖引玉.若有不对,不妥之处,恳求大家指正.在此先谢过大家了.一.为什么基于TCP的通讯程序需要进行
2008-09-02 21:07:00 5198
memcache1.2.8源码分析(源码有注释+ppt说明)
2009-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人