<dl id='3uqbk'></dl>
  1. <tr id='3uqbk'><strong id='3uqbk'></strong><small id='3uqbk'></small><button id='3uqbk'></button><li id='3uqbk'><noscript id='3uqbk'><big id='3uqbk'></big><dt id='3uqbk'></dt></noscript></li></tr><ol id='3uqbk'><table id='3uqbk'><blockquote id='3uqbk'><tbody id='3uqbk'></tbody></blockquote></table></ol><u id='3uqbk'></u><kbd id='3uqbk'><kbd id='3uqbk'></kbd></kbd>
  2. <i id='3uqbk'></i>
    <span id='3uqbk'></span>
      <ins id='3uqbk'></ins>

      <fieldset id='3uqbk'></fieldset>
          <i id='3uqbk'><div id='3uqbk'><ins id='3uqbk'></ins></div></i>

          <code id='3uqbk'><strong id='3uqbk'></strong></code>
          <acronym id='3uqbk'><em id='3uqbk'></em><td id='3uqbk'><div id='3uqbk'></div></td></acronym><address id='3uqbk'><big id='3uqbk'><big id='3uqbk'></big><legend id='3uqbk'></legend></big></address>

          LAMP服务器性能优化技巧之Linux主机优化

          • 时间:
          • 浏览:5
          • 来源:124软件资讯网

            现在LAMP (Linux + Apache + MySQL + PHP) 近几年来生长迅速  ,已经成为Web 服务器的事实尺度  。

            LAMP这个词的由来最早始于德国杂志“c't Magazine”  ,Michael Kunze在1990年最先把这些项目组合在一起缔造了LAMP的缩写字 。这些组件虽然并不是开最先就设计为一起使用的 ,可是  ,这些开源软件都可以很利便的随时获得并免费获得  。这就导致了这些组件经常在一起使用  。在已往的几年里  ,这些组件的兼容性不停完善  ,在一起的应用情形变得很是普便  。为了改善差别组件之间的协作  ,已经建立了某些扩展功效  。现在  ,险些在所有的Linux公布版中都默认包罗了“LAMP stack”的产物  。这些产物组成了一个强盛的Web应用法式平台  。“LAMP stack”中的每一个组件都是一个FOSS(免费或者开源软件/Free or Open Source Software)的实例  。

            FOSS要领的利益有三个方面  。

            第一  ,FOSS软件的性子意味着应用法式可以免费下载  ,能够让更普遍的人们不用付费就可以使用这个应用软件  。这种免费的方式对于宽大用户特殊具有吸引力  。这些用户若是不使用免费的软件就需要付费购置“专业”的商用软件工具  。这在制作网站方面通常是一种昂贵的步骤 。

            第二  ,FOSS允许证是开放式的  ,因此对于基于FOSS手艺的应用软件的使用和限制都很是少 。不需要为软件的公布支付任何允许证费就可以开发和应用基于LAMP的工程  。因此  ,这对业余喜好者和专业职员都很是有吸引力  。FOSS手艺(包罗LAMP)的增加和使用的主要缘故原由是由于用户能够会见其资源  ,修复故障和改善应用软件的性能都很是容易  。

            与开源软件允许证联合在一起  ,这种要领为许多企业简化了开发历程  ,而且为企业提供了专有软件或者商业软件的限制中所没有的天真性  。

            本文我们将先容基于LAMP组合的服务器的性能优化技巧:

            LAMP优化:清算服务器磁盘碎片

            岂论Linux文件系统接纳什么文件花样(ext3、JFS、XFS、ReiserFS )、何种类型的硬盘(IDE 、SCSI) ,随着时间的推移文件系统都市趋向于碎片化  。ext3、JFS等高级文件系统可以淘汰文件系统的碎片化  ,可是并没有消除  。在忙碌的数据库服务器中 ,随着时间的已往  ,文件碎片化将降低硬盘性能 ,硬盘性能从硬盘读出或写入数据时才气注重到  。时间长了会发现每个磁盘上确实积累了很是多的垃圾文件  ,释放磁盘空间可以资助系统更好地事情  。Linux最好的整理磁盘碎片的要领是做一个完全的备份  ,重新花样化分区 ,然后从备份恢复文件 。可是对于7×24小时事情要害使命服务器来说是比力难题的  。

            Kleandisk是一个高效的磁盘清算工具  ,它能把磁盘上的文件分成差别的"组",好比把所有的"core"文件归成一组(Group) ,这样要删除所有core文件时只要删除这个组就行了  。core文件是当软件运行堕落时发生的文件  ,它对于软件开发职员比力有用  ,对于其他用户(好比电子邮件服务器)却没有任何意义  。因此  ,若是没有软件开发的需要  ,见到core文件就可以将其删除 。

            LAMP优化:开启硬盘DMA

            现在使用的IDE硬盘基本支持DMA66/100/133(直接内存读取)可是Linux刊行版本安装后一样平常没有打开  ,可以/etc/rc.d/rc.local 最後面加上一行: /sbin/hdparm -d1 –x66 -c3 -m16 /dev/hda 这样以后每次开机  ,硬盘的 DMA 就会开启 ,不必每次手动设定 。添加前后你可以使用下令:hdparm -Tt /dev/hda 来测试对比一下  。

            LAMP优化:调整缓冲区刷新参数

            Linux内核中 ,包罗了一些对于系统运行态的可设置参数  。缓冲刷新的参数可以通过调整 /proc/sys/vm/bdflush文件来完成  ,这个文件的花样是这样的:

            1. # cat /proc/sys/vm/bdflush
            2. 30 64 64 256 500 3000 60 0 0

            每一栏是一个参数  ,其中最主要的是前面几个参数  。第一个数字是在"dirty"缓冲区到达几多的时间强制叫醒bdflush历程刷新硬盘  ,第二个数字是每次让bdflush历程刷新几多个dirty块  。所谓dirty块是必须写到磁盘中的缓存块  。接下来的参数是每次允许bd flush将几多个内存块排入空闲的缓冲块列表  。 以上值为RHEL 4.0中的缺省值  。可以使用两种要领修改:

            (1)使用下令

            1. # echo "100 128 128 512 5000 3000 60 0 0">/proc/sys/vm/bdflush

            并将这条下令加到/etc/rc.d/rc.local文件中去  。

            (2)在/etc/sysctl.conf 文件中加入如下行:

            1. vm.bdflush = 100 128 128 512 5000 3000 60 0 0

            以上的设置加大了缓冲区巨细  ,降低了bdflush被启动的频度 ,VFS的缓冲刷新机制是Linux文件系统高效的缘故原由之一 。

            LAMP优化:优化输入输出

            I/O法式对Linux系统性能也是相当主要的  ,网络硬件I/O对服务器尤其主要  。现在大多数Linux服务器使用10/100 Mb以太网 。若是有较重的网络负载  ,则可以思量千兆以太网卡  。若是没有能力购置千兆网卡的话:可以使用多块网卡虚拟成为一块网卡  ,具有相同的IP地址  。这项手艺  ,在Linux中  ,这种手艺称为Bonding 。Bonding在Linux2.4以上内核中已经包罗了 ,只需要在编译的时间把网络装备选项中的Bonding driver support选中见图1  。固然使用Bonding手艺设置双网卡绑定的条件条件是两块网卡芯片组型号相同 ,而且都具备自力的BIOS芯片 。

            LAMP/优化

            图1 Linux内核的Bonding driver support选项

            然后  ,重新编译焦点  ,重新起动盘算机  ,执行如下下令:

            1. #ismod bonding
            2. #ifconfig eth0 down
            3. #ifconfig eth1 down
            4. #ifconfig bond0 ipaddress
            5. #ifenslave bond0 eth0
            6. #ifenslave bond0 eth1

            现在两块网卡已经象一块一样事情了  。这样可以提高集群节点间的数据传输.bonding对于服务器来是个比力好的选择,在没有千兆网卡时,用两块100兆网卡作bonding,可大大提高服务器到交流机之间的带宽.可是需要在交流机上设置毗连bonding网卡的两个子口映射为统一个虚拟接口  。编辑/etc/modules.conf文件 ,加入如下内容  ,以使系统在启动时加载Bonding模块  。

            1. alias bond0 bonding
            2. options bond0 mode=0

            “mode”的值表现事情模式  ,共有0、1、2和3四种模式  ,这里设定为0  。Bonding事情在负载平衡(Load Balancing (round-robin))方式下  ,即两块网卡同时事情 ,这时理论上Bonding能提供两倍的带宽  。Bonding运行在网卡的混杂(Promisc)模式下  ,而且它将两块网卡的MAC地址修改为一样的 。混杂模式就是网卡不再只吸收目的硬件地址是自身MAC地址的数据帧  ,而是可以吸收网络上所有的帧  。

            LAMP优化:淘汰虚拟终端机的数目

            Linux安装后系统默认是6个虚拟终端机 ,也就是 CTRL+ALT F1~F6 那六个 ,作为服务器使用可以关掉其中四个  ,只留下 CTRL+ALT F1~F2  ,约莫省下 4 Mbytes 的内存  ,可是这样一来  ,X-Window 会从原来的 CTRL+ALT F7 酿成 CTRL+ALT F3  。 修改 /etc/inittab 中  ,将 mingetty 3 ~6 所有加上 # 字号 。

            LAMP优化:关闭一些不用的服务

            Linux服务器在启动时需要启动许多系统服务  ,它们向当地和网络用户提供了Linux的系统功效接口 ,直接面向应用法式和用户 。提供这些服务的法式是由运行在后台的守护历程(daemons)来执行的  。守护历程是生活期长的一种历程  。它们自力于控制终端而且周期性的执行某种使命或等候处置惩罚某些发生的事务  。他们经常在系统指导装入时启动  ,在系统关闭时终止 。

            linux系统有许多守护历程 ,大多数服务器都是用守护历程实现的  。如Web服务http等  。同时  ,守护历程完成许多系统使命  ,好比  ,作业计划历程crond、打印历程lqd等  。有些书籍和资料也扼守护历程称作:“服务” 。关闭服务要领请检察笔者的文章:深入明白Linux守护历程  。链结:http://www.ccw.com.cn/server/yyjq/htm2005/20050914_14ND5_1.htm  。

            LAMP优化:使用工具软件PowerTweak优化系统

            Powertweak for linux0.99能够监视你的系统和网络毗连  ,而且可以将你的系统设置为最佳  。

            软件安装:

            1. #wegt http://prdownloads.sourceforge.net/powertweak/powertweak-0.99.2-1.i386.rpm;
            2. #wegt http://prdownloads.sourceforge.net/powertweak/powertweak-gtk-0.99.2-1.i386.rpm
            3. #rpm –ivh powertweak-0.99.2-1.i386.rpm
            4. #rpm –ivh powertweak-gtk-0.99.2-1.i386.rpm

            其中powertweak-0.99.2-1.i386.rpm是主法式  , powertweak-gtk-0.99.2-1.i386.rpm是KDE情况下的图形前端 。法式安装后会自动添加到主选单的“系统工具中”  ,运行界面见图2 。

            LAMP/优化

            图-2 powertweak性能优化法式

            powertweak能够对X86构架处置惩罚器  ,芯片组  ,Voodoo等举行最优化设置的软件 ,支持大多数的中央处置惩罚器和芯片组 ,包罗Intel  ,AMD  ,与Cyrix  ,内置四种最佳化设定功效  ,可以自行设定要最优化的硬件(中央处置惩罚器、CD-ROM、PCI总线、硬盘、磁盘阵列)、内核(包罗日志、宁静、资源)、网络(包罗ip、TCP、Core、 ICMP、Unix domain Routing、 Arp 、Token Ring)、虚拟文件系统、性能内存治理(页面分配、高速缓存、交流分区) 。Powertweak是一个强盛的系统性能调治软件  。可是对于使用者要求比力高 ,许多选项要求你对Linux系统比力相识才气准确填写 。

            关于Apache、PHP、Mysql软件安装 ,我们建议安装它们的最新版本  ,而且从源码安装法式 。虽然许多Linux刊行版本(RedHat 、Suse、TurboLinux)有响应的rpm包, 但从源码编译安装法式  ,会适合自己的机械设置 ,我们一样平常会装到 /usr/local 目录下  ,这样易于治理  。安装历程这里笔者就不先容了  。