随笔分类 - 优化类
摘要:简介很久之前就想写这篇文章了,主要是介绍一下我做数据同步的过程中遇到的一些有意思的内容,和提升效率的过程。当前在数据处理的过程中,数据同步如同血液一般充满全过程,如图:数据同步开源产品对比:DataX,是淘宝的开源项目,可惜不支持PostgresqlSqoop,Apache开源项目,同步过程中字段需...
阅读全文
摘要:ps -aux | sort -k4,4nps auxw --sort=rssps auxw --sort=%cpulinux 下的ps命令%CPU 进程的cpu占用率%MEM 进程的内存占用率VSZ 进程所使用的虚存的大小RSS 进程使用的驻留集大小或者是实际内存的大小TTY 与进程关联的终端(tty)STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠,通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终止)、W ha
阅读全文
摘要:对于日IP不高或者说并发数不是很大的应用,一般不用考虑这些!!用一般的文件操作方法完全没有问题。但如果并发高,在我们对文件进行读写操作时,很有可能多个进程对进一文件进行操作,如果这时不对文件的访问进行相应的独占,就容易造成数据丢失。例如:一个在线聊天室(这里假定把聊天内容写入文件),在同一时刻,用户A和用户B都要操作数据保存文件,首先是A打开了文件,然后更新里面的数据,但这里B也正好也打开了同一个文件,也准备更新里面的数据。当A把写好的文件保存时,这里其实B已经打开了文件。但当B再把文件保存回去时,这里已经造成了数据的丢失,因为这里B用户完全不知道它所打开的文件在它对其进行更改时,A用户也更改
阅读全文
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,..
阅读全文
摘要:下边是在网上找到的一些资料,保留下来备用吧1,创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。2,复合索引比如有一条语句是这样的:select * from users where area=’beijing’ and age=
阅读全文
摘要:InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。 以下是一些细节和具体实现的差别: ◆1.InnoDB不支持FULLTEXT类型的索引。 ◆2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM...
阅读全文
摘要:安装# wget http://xcache.lighttpd.net/pub/Releases/1.3.1/xcache-1.3.1.tar.gz# tar xzvf xcache-1.3.1.tar.gz# cd xcache-1.3.1#/usr/local/php-5.3.5/bin/phpize# /configure --with-php-config=/usr/local/php-5.3.5/bin/php-config --enable-xcache# make# make install# cat xcache.ini >> /usr/local/php-5.3.
阅读全文
摘要:集群架构方面的问题memcached是怎么工作的?Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多<key,value>对的哈希表。通过key,可以存储或查询任意的数据。客户端可以把数据存储在多台memcached上。当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈希),进而选中一个节点;客户端将 请求发送给选中的节点,然后memcached节点通过一个内部的哈希算法(阶段二哈希),查找真正的数据(item)。举个列子,假设有3个客户端1, 2, 3,3台memcached A, B, C:Cli
阅读全文
摘要:一、为什么要开启这个查询呢?数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷 了。mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句, 分析原因,加以优化。这也是发这篇博文的原因。二、开启mysql的慢查询方法1:用命令开启慢查询mysql> show variables like "%long%"; //查看一下默认为慢查询的时间10秒+-----------------+----------+| Variable_name | Value |+-
阅读全文