性能优化
与金山陈飞舟学习性能优化
十 26th
与金山陈飞舟学习性能优化
四 21st
1、性能优化的关键是要“测量”,找出耗时的点来优化;
2、实用优化工具:IPP(英特尔 高性能多媒体函数库),ICC(Intel 编译器),Intel vTune(性能分析器),RDTSC(测试CPU 时钟周期数和时间的工具)
3、避免频繁的文件锁操作,对文件的加锁、解锁,各消耗1千个时钟周期;文件的打开和关闭也非常消耗资源
4、HP DL380服务器远好于DL180服务器,DL180服务器的主板等都是一般的。
5、压缩速度最快:LZO > gzip > 7zip
6、file mapping(大内存机器)完全操作内存,提高文件存取速度,且不用考虑何时写入磁盘,系统自动的;
7、计费类系统使用Oracle数据库
8、PHP容易内存泄露(php-fpm中有处理N个请求后自动重启进程的设置)
9、PHP会把跟MySQL的连接保持住,PHP与MySQL的连接管理比较麻烦,需要合适的中间件(连接池)或换Oracle;
10、用Oracle,连接管理中间件已自带,很多问题自身有解决方案
11、利用存储过程把连接变成无状态的,这样就不用做会话保持了
12、MySQL典型的架构是读写分离,要用64位系统
13、CPU密集型的服务器,要关闭CPU的超线程和节能模式
14、超线程对运算型(加减乘除)CPU密集型程序有好处,而对逻辑型CPU密集型程序用处不大
15、核心交换机最好使用Cisco,其实际性能比标称值稍大;如果使用华为,则可考虑 H3C 55XX系列,51XX不行。
16、金山没有使用网络文件系统,建议最好自己开发适合自己的,自己完全掌握
17、MySQL双机最好使用程序自动判断(超时),没有很好的自动切换方案
18、SQL SERVER有支持的硬件自动切换设备,但是要买高端的,因为中端的经常切换不了
19、EMC磁盘阵列柜,可以设置8个自动备份点(该点的数据是全的,对审计非常方便),还可以自动远程备份,网络不好自动重试保证数据完整性(Oracle的远程备份对带宽质量要求高)
20、IBM/HP 服务器给金山最大的好处是 提供了硬件监控集中管理软件,用于监控带管理卡的服务器;如发现内存校验错误是,说明内存要坏了,可以提前有准备的主动更换
21、金山后来只买IBM/HP服务器了,因为联想等服务器会使用一些质量很一般的配件(如硬盘插拔弹片,松了导致系统认不到硬盘)
22、使用IPP,来利用CPU的一些新指令集,如SSE4支持对xml解析、视频编码指令集等。
23、既然使用Memcached,就可以自己实现一个更高效和简单的,如KEY/VALUE数组,用二分法。
(描述不一定准确,其主要目的是在满足需求的情况下实现简单化,避免使用复杂的调用方式)
24、使用虚拟机会有20%的CPU消耗,比如使用虚拟网卡不如使用真实网卡
25、服务器网卡比普通台式机网卡好得多,因为对数据包的处理网卡本身就完成了,普通网卡需要借助CPU
26、追求稳定性、故障率低的话,可使用小型机;小型机20、30万起价,开始配的CPU很少、可以后续加,或配满CPU、后续按需打开
27、使用高端产品来减少维护成本和故障带来的损失,也是很好的方法
28、SSD硬盘有2种,一种读性能好,一种读写性能都较好。
》关于SSD硬盘的2种类型,不确定飞舟指的哪2种,我上网查了一些资料如下:
SSD硬盘的两种类型:FLASH SSD和DDRRAM Base SSD
基于FLASH 的SSD最大的优点就是可以移动,而且数据保护不受电源控制,能适应于各种环境,但是使用年限不高。所以闪存盘的容量一般都非常小,上G的已经算大了,目前最大的有64G的Flash Disk。适合于个人PC用户使用,但应用到企业的存储系统就无能为力了。采用FLASH内存的SSD具备相当高的数据安全性,并且在噪音、便携性等方面都有硬盘所无法媲美的优势,在航空航天、军事、金融、电信、电子商务等部门中都有广泛的使用。
而DDRRAM Base SSD相对普通HDD硬盘的最显著优势就是速度,例如一个每分钟15000转的硬盘转一圈需要200毫秒的时间,而在SSD上由于是数据是存放在半导体内存上,能够在低于一毫秒的时间内对任意位置的存储单元完成I/O(输入/输出)操作,因此在对许多应用程序来说最为关键的I/O性能指标——IOPs(即每秒多少次IO动作)上,SSD可以达到硬盘的50~800倍。