性能调优攻略
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。
在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈! 但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因为没有这两件事,后面的定位和优化无从谈起。
目录
一、系统性能定义
二、系统性能测试
三、定位性能瓶颈
3.1)查看操作系统负载
3.2)使用Profiler测试
四、常见的系统瓶颈
一、系统性能定义
让我们先来说说如何什么是系统性能。这个定义非常关键,如果我们不清楚什么是系统性能,那么我们将无法定位之。我见过很多朋友会觉得这很容易,但是仔细一问,其实他们并没有一个比较系统的方法,所以,在这里我想告诉大家如何系统地来定位性能。 ...
纯文本配置还是注册表
我们知道Unix/Linux下的程序配置文件从来都是纯文本的,你可以自由地修改和查看,他们也没有什么什么XML之类的玩意(参看XML的这两篇文章:一,二),这个最重要的Unix文化(参看Unix传奇下篇)40多年来就这么沿续下来了。我很佩服Microsoft的创新能力,一会儿用INI,一会儿用注册表,一会又是用XML,这就是Windows的编程中那“强大”的创新。在网上又看到有人在争论为什么用注册表而不是纯文本,所以,写下这篇文章。
目录
引入注册表所谓的原因
我的观点
纯文本配置文件的好处
真正的原因
引入注册表所谓的原因
首先,让我们来看一下为什么微软觉得要使用注册表而不是ini文件,下面是一些其列出来的ini方面的毛病:
ini文件不支持Unicode
ini文件的安全权限不够
ini文件在多进程下存取会有问题
如果一个进程锁上了这个文件,另一个进程就无法获得,只能出错。
ini文件只能包含字符串,无法使用二进制
解析ini文件相对来说性能比较慢,第一次读写都需要把整个文件读入内存,然后再写回去。
in ...