1. 为磁盘I/O调整linux内核电梯算法

     在选择文件系统后,有一些内核和挂载选项可能会影响到它的性能表现。其中一个内核设置是电梯算法,通过调整电梯算法,系统可以平衡低延迟需求,收集足够的数据,以有效地组织对磁盘的读和写请求。

2.禁用不必要的守护进程,节省内存和CPU资源

      每台服务器上都运行着许多守护进程或服务,而具有讽刺意味的是,有很多通常不是必需的这些服务没有发挥作用,但却消耗了宝贵的内存和CPU时间,而且还可能将服务器置于危险境地。因此,你可以将它们从服务器移除。

       一些应该被禁用的守护进程:

 apmd、nfslock、lsdn、autofs、sendmail、xfs

3.关掉GUI

一般来说,linux服务器是不需要GUI的,因此最好关掉GUI,为了禁用GUI,‘init level(启动级别)’应该被设置为3,而不是5.如果需要GUI,可以随时运行startx。

4.清理不需要的模块或功能

在服务器软件包中有太多被启动的功能或模块实际上是不需要的(如apache中的许多功能模块)。仔细查看apache配置文件,确定frontpage支持或其他额外的模块是否真的需用到。

5.禁用控制面板

在linux中有许多流行的控制面板,如cpanel,plesk,webmin,phpmyadmin等,禁用掉这些软件包可以释放出大约120MB内存。

6.改善linux exim服务器性能

有许多种方法改善服务器的exim性能,其中一个办法是使用DNS缓存守护进程,它可以降低解析DNS记录需要的带宽和CPU时间。DNS缓存避免了每次都从根节点开始查找DNS记录,从而改善了网络性能。djbdns是一个非常强大的DNS服务器,它具有DNS缓存功能,而且比bind dns服务器更安全,性能更好。

7.使用AES256增强gpg文件加密安全

为了提高备份文件或敏感信息的安全,许多linux系统管理员都会使用gpg进行加密,在使用gpg时,最好指定gpg使用AES256加密算法。

8.远程备份服务安全

为了保证备份文件100%的安全,备份服务公司提供远程备份服务器,使用scp脚本或rsync通过ssh传输数据。这样,没有人可以直接进入和访问远程系统。

9.更新默认内核参数设置

为了顺利运行企业应用程序,如数据库服务器,可能需要更新一些默认的内核参数设置。

kernel.shmmax=268435456

kernel.shmmax=1073741824

kernel.msgmni=1024

fs.file-max=8192

kernel.sem="250 32000 32 1024"

10.优化TCP

优化tcp协议有助于提高网络吞吐量。跨广域网的通信使用的带宽越大,延迟时间越长,建议使用较大的TCP linux大小以提高数据传输速率。TCP linux大小决定了发送主机在没有收到数据传输确认时,可以向接受主机发送多少数据。

11.选择正确的文件系统

使用ext4文件系统取代ext3,好处如下:

(1)ext4扩展了存储限制

(2)具有日志功能,保证高水平的数据完整性

(3)在非正常关闭和重启时,ext4不需要检查磁盘

(4)更快的写入速度

12.使用noatime文件系统挂载选项

在文件系统启动配置文件fstab中使用noatime选项,如果使用了外部存储,这个挂载选项可以有效改善性能。

13.调整linux文件描述符限制

linux限制了任何进程可以打开的文件描述符数量,默认限制是每进程1024,这些限制可能会阻碍基准测试客户端和web服务器获得最佳性能。

打开文件限制可以用ulimit命令调整。ulimit -aS命令显示当前的限制,ulimit -aH命令显示硬限制(在未调整/proc中的内核参数前,你不能增加限制)

14.正确配置Mysql

为了给mysql分配更多的内存,可设置mysql缓存大小。要是mysql服务器实例使用了更多内存,就减小缓存大小;如果mysql在请求增多时停滞不动,就增加Mysql缓存。

15.正确配置apache

检查apache使用了多少内存,在调整startservers和minspareservers参数,以释放更多的内存,这将有助于你节省30-40%的内存。

16.分析linux服务器性能

当大型应用程序同时运行时,计算机可能会开始变慢,内存不足的出现几率更高。

如果启动时真的很慢,可能是应用程序初次启动需要较长的加载时间,一旦启动好后运行就正常,否则,很可能是硬盘太慢了。

CPU负载持续很高,内存也够用,但CPU利用率很低,可以使用CPU负载分析工具监控负载时间。

17.学习5个linux性能命令

top,vmstat,iostat,free和sar

18.将日志文件转移到内存中

当一台机器处于运行中时,最好是将系统日志放在内存中,当系统关闭时再将其复制到硬盘。当你运行一台开启了syslog功能的笔记本电脑或移动设备时,ramlog可以帮助你提高系统电池或移动设备闪存驱动器的寿命,使用ramlog的一个好处是,不用再担心某个守护进程每隔30秒向syslog发送一条消息。

19.先打包,后写入

在内存中划分出固定大小的空间保存日志文件。注意ramlog使用的内存空间大小是固定的,否则系统内存会很快被用光。如果笔记本使用固态硬盘,可以分配50-80MB内存给ramlog使用。

20.一般调优技巧

尽可能使用静态内容代替动态内容,如果你在生成天气预报,或其他每隔1小时就必须更新的数据,最好是写一个程序,每隔1小时生成一个静态的文件,而不是让用户运行一个CGI动态地生成报告。