设为首页 收藏本站
查看: 1235|回复: 0

[经验分享] ibm_lamp调优

[复制链接]

尚未签到

发表于 2017-5-25 08:34:16 | 显示全部楼层 |阅读模式
跳转到主要内容




  • DSC0000.gif



  • 登录 (或注册)

  • 中文
    DSC0001.gif

  • [userid] DSC0002.jpg






  • [关闭]



如果您还没有注册到 IBM 注册系统,我们为给您带来的不便表示道歉,并请您马上注册。
现在注册




IBM ID:


密码:


登录之后:
留在当前页面
My developerWorks 概要信息
My developerWorks 首页


单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件
.









  • 忘记 IBM ID?



  • 忘记密码?

  • 更改您的密码


  当您初次登录到 developerWorks 时,将会为您创建一份概要信息,概要信息中包括您的姓名和您在注册 developerWorks 时选择的昵称。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容显示在一起。
所有提交的信息确保安全。




  当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。
  昵称长度在 3 至 31 个字符之间
。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

昵称:


单击提交
则表示您同意developerWorks 的条款和条件。 查看条款和条件
.







所有提交的信息确保安全。





My developerWorks:



  • 我的概要信息

  • 我的首页

  • 我的群组



我的通知:



  • {[num_notify] 个新通知}([num_notify] 个新通知)

  • {[num_invite] 个网络请求}([num_invite] 个网络请求)





  • 退出









选择语言:



  • English

  • 中文

  • 日本語

  • 한국어





  • Русско

  • Português (Brasil)

  • Español

  • Việt





  • [关闭]













  • DSC0003.gif



  • 技术主题

  • 软件下载

  • 社区

  • 技术讲座
  
DSC0004.jpg





IBM 产品:



  • AIX and UNIX

  • Information Management

  • Lotus

  • Rational

  • WebSphere



技术:



  • Java technology

  • Linux

  • Open source

  • SOA and web services

  • Web development

  • XML



解决方案:



  • Cloud computing




  • 文档库

  • 订阅源

  • 在线浏览每周时事通讯





  • 技术主题详情





  • [关闭]





查找软件:



  • IBM 产品(英文)

  • 评估方式(下载,在线试用,Beta 版,云)(英文)

  • 行业(英文)





  • 软件评估详情





  • [关闭]







  • 我的首页

  • 概要信息

  • 群组

  • 博客

  • 书签





  • Wiki

  • 文件

  • 活动





  • 社区详情





  • [关闭]







  • 技术讲座

  • 网络广播(英文)

  • 查找活动(技术讲座,网络广播,会议等)(英文)





  • 活动详情





  • [关闭]















  • developerWorks 中国

  • Linux

  • 文档库



LAMP 系统性能调优,第 2 部分: 优化 Apache 和 PHP
  是什么降低了 Apache 的速度,如何使 PHP 发挥最大效力




Sean A. Walberg
(sean@ertw.com
), 高级网络工程师

DSC0005.gif

从 1994 年开始,Sean Walberg 就一直在学术、企业和互联网服务提供商环境中从事 Linux 和 UNIX 系统的研究。在过去几年里,他撰写了大量有关系统管理的文章。
  简介:
 如今,使用 LAMP(Linux®、Apache、MySQL 和 PHP/Perl)架构的应用程序不断被开发和部署。但是,服务器管理员常常对应用程序本身几乎没有控制能力,因为应用程序是别人编写的。这份
共三部分的系列文章
将讨论许多服务器配置问题,这些配置会影响应用程序的性能。第二篇文章重点讨论可为优化 Apache 和 PHP 而采取的措施。
查看本系列更多内容


标记本文!




发布日期:
 2007 年 6 月 07 日

级别:
 中级

访问情况
 3461 次浏览

建议:
 0 (添加评论
)


DSC0006.gif



DSC0007.gif
  平均分 (共 4 个评分 )







  Linux、Apache、MySQL 和 PHP(或 Perl)是许多 Web 应用程序的 LAMP 架构的基础。有很多基于 LAMP
组件的开源软件包可用于解决各种各样的问题。随着应用程序负载的增加,底层基础设施的瓶颈也会越来越明显,其表现形式就是响应用户请求的速度变慢。
上一篇文章
展示了调优 Linux 系统的方法,还介绍了 LAMP 和性能度量的基础知识。本文重点关注 Web 服务器组件:Apache 和 PHP。
  调优 Apache

  Apache 是一种高度可配置的软件。它具有大量特性,但每一种都代价高昂。从某种程度上来说,调优 Apache 来说就是以恰当的方式分配资源,还涉及到将配置简化为仅包含必要内容。
  配置 MPM

  Apache 是模块化的,因为可以轻松添加和移除特性。在 Apache
的核心,多处理模块(Multi-Processing Module,MPM)提供了这种模块化功能性 —— 管理网络连接、调度请求。MPM
使您能够使用线程,甚至能够将 Apache 迁移到另外一个操作系统。        

  每次只能有一个 MPM 是活动的,必须使用 --with-mpm=(worker|prefork|event)

静态编译。
  每个请求使用一个进程的传统模型称为 prefork
。较新的线程化模型称为 worker
,它使用多个进程,每个进程又有多个线程,这样就能以较低的开销获得更好的性能。最新的 event
MPM 是一种实验性的模型,为不同的任务使用单独的线程池。要确定当前使用的是哪种 MPM,可执行 httpd -l

  选择使用何种 MPM 取决于许多因素。在 event MPM
脱离实验状态之前,不应考虑这种模型,而是在使用线程和不使用线程之间作出选择。表面上看来,如果所有底层模块(包括 PHP
使用的所有库)都是线程安全的,线程要优于分叉(forking)。而 Prefork 是较为安全的选择;如果选择了
worker,则应该谨慎测试。性能收益还取决于您的发布版所附带的库及硬件。
  无论选择了哪种 MPM,都必须恰当地配置它。一般而言,配置 MPM 包括告知 Apache 怎样去控制有多少 worker 正在运行,它们是线程还是进程。prefork MPM 的重要配置选项如清单 1 所示。


清单 1. prefork MPM 的配置


               
StartServers       50
MinSpareServers   15
MaxSpareServers   30
MaxClients       225
MaxRequestsPerChild  4000




编译您自己的软件
  最初使用 UNIX®
时,我坚持为加入系统的一切编译软件。最终,维护更新给我带来了麻烦,所以我学会了如何构建包来简化这一任务。后来我意识到,大多数时候我都在重复做发布
版做过的事情。现在,在很大程度上来说,我会尽可能坚持使用我所选择的发布版提供的一切,仅在必要的时候使用自己的包。
  类似地,您可能会发现,就可维护性而言,使用厂商提供的软件包要优于使用最新、最棒的代码。有些时候,性能调优和系统管理的目标会有所冲突。如果使用商业版的 Linux 或依赖于第三方支持,那么可能不得不考虑厂商的支持。
  如果您一意孤行,那么请学会如何构建能与您的发布版协同工作的包,请学会如何将其集成到补丁系统之中。这将确保软件,以及您作出的任何更改得到一致的构建,且能跨多个系统使用。还应订阅恰当的邮件列表和 RSS 提要来及时获得软件更新。




  prefork 模型会为每个请求创建一个新进程。多余的进程保持空闲,以处理传入的请求,这缩短了启动延迟。只要 Web 服务器出现,预先完成的配置就会立即启动 50 个进程,并尽力保持 10 到 20 个空闲服务器运行。进程数的硬性限制由 MaxClients
指定。尽管一个进程能够处理许多相继的请求,Apache 还是会取消连接数超过 4,000 以后的进程,这降低了内存泄漏的风险。
  配置线程化 MPM 与之类似,不同之处只是必须确定使用多少线程和进程。Apache 文档解释了所有必要的参数和计算。
  要经过几次尝试和出错之后才能选好要使用的值。最重要的值是 MaxClients
。目标在于允许足够多的 workder 进程或线程运行,同时又不会导致服务器进行过度的交换。如果传入的请求超出处理能力,那么至少满足此值的那些请求会得到服务,其他请求被阻塞。
  如果 MaxClients
过高,那么所有客户机都将体验到糟糕的服务,因为 Web 服务器会试图换出一个进程,以使另一个进程能够运行。而设得过低意味着可能会不必要地拒绝服务。查看高负载下运行的进程数量和所有 Apache 进程所导致的内存占用情况对设置这个值很有帮助。如果 MaxClients
的值超过 256,必须将
ServerLimit
也设为同样的数值,请仔细阅读 MPM 的文档,了解相关信息。
  根据服务器的角色调优要启动和保持空闲的服务器数量。如果服务器仅运行 Apache,那么可以使用适中的值,如 清单 1
所示,因为这样就能充分利用机器。如果系统中还有其他数据库或服务器,那么就应该限制运行中的空闲服务器的数量。
  有效地使用选项和重写

  Apache 处理的每个请求都要履行一套复杂的规则,这些规则指明了 Web
服务器必须遵循的约束或特殊指令。对文件夹的访问可能按 IP
地址约束为某个特定文件夹,也可配置用户名和密码。这些选项还包含处理特定文件,例如,如果提供了一个目录列表,该如何处理的文件,或输出结果是否应压
缩。
  这些配置以 httpd.conf 中容器的形式出现,例如
<Directory>,以便指定所用配置引用的是磁盘上的一个位置;再如 <Location>,表示引用是 URL
中的路径。清单 2 展示了一个实际的 Directory 容器。


清单 2. 为根目录应用的一个 Directory 容器


               
<Directory />
AllowOverride None
Options FollowSymLinks
</Directory>



  在清单 2 中,位于一对
Directory
和 /Directory
标记之间的配置应用于给定目录和该目录下的一切内容 —— 在本例中,这个给定目录是根目录。此处,AllowOverride
标记指出,用户不允许重写任何选项(稍后将进一步介绍)。FollowSymLinks
选项被启用,它允许 Apache 查看之前的符号连接来为请求提供服务,即便文件位于包含 Web 文件的目录之外。这就意味着,如果 Web 目录中的一个文件是 /etc/passwd 的符号连接,Web 服务器将在请求时顺利为该文件提供服务。如果使用了 -FollowSymLinks
,该特性就会被禁用,同样的请求将致使为客户机返回错误。
  最后这个场景正是导致两方面关注的原因所在。第一个方面与性能有关。如果禁用了 FollowSymLinks
,Apache 就必须检查使用该文件名的所有组件(目录和文件本身),以确保它们不是符号连接。这会带来额外的开销(磁盘操作)。另外一个称为 FollowSymLinksIfOwnerMatch
的选项会在文件所有者与连接所有者相同时使用符号连接。为获得最佳性能,请使用 清单 2
中的选项。
  至此,有安全意识的读者应该有了警惕的感觉。安全性永远是功能性与风险之间的权衡。在我们的例子中,功能性是速度,而风险
是允许对系统上的文件进行未经授权的访问。缓解风险的措施之一是 LAMP
应用服务器通常专注于一种具体功能,用户无法创建危险的符号连接。如果有必要启用符号连接,那么可以将其约束在文件系统的特定区域,如清单 3 所示。


清单 3. 将 FollowSymLinks
约束为一个用户的目录



               
<Directory />
Options FollowSymLinks
</Directory>
<Directory /home/*/public_html>
Options -FollowSymLinks
</Directory>



  在清单 3 中,一个用户的主目录中的任何 public_html 目录及其所有子目录都移除了 FollowSymLinks
选项。
  如您所见,通过主服务器配置,可为每个目录单独配置选项。用户可以自行重写这种服务器配置(如果管理员通过 AllowOverrides
语句允许了这种操作),只需将一个 .htaccess 文件放入目录即可。该文件包含额外的服务器指令,每次请求包含 .htaccess
文件的目录时将加载并应用这些指令。尽管之前探讨过系统没有用户的问题,但许多 LAMP 应用程序都利用这种功能性来控制访问、实现 URL
重写,因此有必要理解其工作原理。
  即便 AllowOverrides
语句能阻止用户去做您不希望他们做的事,Apache
也必须检查 .htaccess 文件,看看是否有要完成的工作。父目录可以指定由来自子目录的请求处理的指令,这也就表示,Apache
必须搜索所请求文件的目录树的所有组件。可想而知,这会使每次请求都导致大量磁盘操作。
  最简单的解决方案是不允许重写,这能消除 Apache 检查 .htaccess
的需求。之后的任何特殊配置都将直接放在 httpd.conf 中。清单 4 显示为对一个用户的项目目录进行密码检查向 httpd.conf
增加的代码,而不是将其放入一个 .htaccess 文件并依赖于 AllowOverrides



清单 4. 将 .htaccess 配置移入 httpd.conf


               
<Directory /home/user/public_html/project/>
AuthUserFile /home/user/.htpasswd
AuthName "uber secret project"
AuthType basic
Require valid-user
</Directory>



  如果配置转移到 httpd.conf 中,且 AllowOverrides
被禁用,磁盘的使用就能减少。一个用户的项目可能不会吸引许多人来点击,但设想一下,将这项技术应用于一个忙碌的站点时会有多么强大。
  有时不可能彻底消除 .htaccess 文件的使用。例如,在清单 5 中,一个选项被约束到文件系统的特定部分,重写也可以是有作用域的。


清单 5. 限定 .htaccess 检查的作用域


               
<Directory />
AllowOverrides None
</Directory>
<Directory /home/*/public_html>
AllowOverrides AuthConfig
</Directory>



  实现清单 5 之后,Apache 会在父目录中查找 .htaccess 文件,但会在 public_html
目录处停止,因为文件系统的其余部分禁用了此功能。例如,如果请求的是一个映射到
/home/user/public_html/project/notes.html 的文件,那么仅有 public_html
和 project 目录被搜索。
  关于每目录单独配置的最后一个提示就是:要按顺序依次进行。任何介绍 Apache 调优的的文章都会告诉您,应通过 HostnameLookups off
指令禁用 DNS 查找,因为试图反向解析连接到您的服务器的所有 IP 地址无疑是浪费资源。然而,基于主机名的任何约束都会迫使 Web
服务器对客户机的 IP
地址执行反向查找,对其结果进行正向查找,以验证该名称的真实性。因此,避免使用基于客户主机名的访问控制,在必须使用时限定其作用域,这些都是明智的做
法。
  持久连接

  一个客户机连接到 Web 服务器时,允许客户机通过同一个 TCP
连接发出多个请求,这减少了与多个连接相关的延迟。在一个 Web
页面引用了多幅图片时,这就很有用:客户机可以通过一个连接先请求页面,再请求所有图片。其缺点在于服务器上的 worker
进程必须等待客户机要关闭的会话,之后才能转到下一个请求。
  Apache 使您能够配置如何处理持久连接(称为 keepalives
)。httpd.conf 全局级的 KeepAlive 5
允许服务器在连接强制关闭之前处理一个连接上的 5 个请求。将此值设置为 0 将禁用持久连接。同样位于全局级上的 KeepAliveTimeout
确定在会话关闭之前,Apache 将等待另外一个连接多久。
  持久连接的处理并非 “一刀切” 式的配置。对于某些 Web 站点,禁用 keepalives 更合适(KeepAlive 0
);而对于其他一些站点,启用它会带来巨大的收益。惟一的解决之道就是尝试使用这两种配置,自己观察哪种更合适。但若启用了 keepalives,使用较小的超时时间较为明智,例如 2,即 KeepAliveTimeout 2
。这能确保希望发出另外一个请求的客户机有充足的时间,还能确保 worker 进程不会一直空闲,等待可能永远不会出现的下一个请求。
  压缩

  Web 服务器能够在将输出发回给客户机之前压缩它。这将使通过 Internet 发送的页面更小,代价是 Web
服务器上的 CPU 周期。对于那些负担得起 CPU 开销的服务器来说,这是提高页面下载速度的好办法 ——
页面压缩后大小变为原来的三分之一这种事情并不罕见。
  图片通常已经是压缩过的,因此压缩应仅限于文本输出。Apache 通过 mod_deflate
提供压缩。尽管 mod_deflate
可轻松启用,但它涉及到太多的复杂性,很多手册都解释了这些复杂的内容。本文不会介绍压缩的配置,但提供了相应文档的链接(参见 参考资料
部分)。
  调优 PHP

  PHP 是运行应用程序代码的引擎。应该仅安装计划使用的那些模块,并配置您的 Web 服务器,使之仅为脚本文件(通常是以 .php 结尾的那些文件)使用 PHP,而非所有静态文件。
  操作码缓存

  请求一个 PHP 脚本时,PHP 会读取该脚本,并将其编译为 Zend 操作码
,这是要执行的代码的一种二进制表示形式。随后,此操作码由 PHP 执行并丢弃。操作码缓存将保存这个编译后的操作码,并在下一次调用该页面时重用它。这会节省很多时间。有多种缓存可用,我比较常用的是 eAccelerator。
  要安装 eAccelerator,您的计算机上需要有 PHP 开发库。由于不同的 Linux 发布版存放文件的位置不同,所以最好直接从 eAccelerator 的 Web 站点获得安装说明(参见 参考资料
部分获得链接)。您的发布版也有可能已经包含了一个操作码缓存,只需安装即可。
  无论如何在系统上安装 eAccelerator,都有一些配置选项需要注意。配置文件通常是 /etc/php.d/eaccelerator.ini。eaccelerator.shm_size
定义共享高速缓存的大小,编译后的脚本就存储在这里。该值的单位是兆字节(MB)。根据您的应用程序确定恰当的大小。eAccelerator 提供了一个脚本来显示缓存的状态,其中包含内存占用,64MB 是个不错的选择(eaccelerator.shm_size="64"
)。如果您选择的值未被接受,那么必须修改内核的最大共享内存的大小。向 /etc/sysctl.conf 添加 kernel.shmmax=67108864
,运行 sysctl -p
来使设置生效。kernel.shmmax
值的单位是字节。
  如果共享内存的分配超出极限,eAccelerator 必须将旧脚本从内存中清除。默认情况下,这是被禁用的;eaccelerator.shm_ttl = "60"
指定:当 eAccelerator 用完共享内存时,60 秒内未被访问的所有脚本都将被清除。
  另一种流行的 eAccelerator 替代工具是 Alternative PHP Cache(APC)。Zend 的厂商也提供了一种商业操作码缓存,包括一个进一步提高效率的优化器。
  php.ini

  PHP 的配置是在 php.ini 中完成的。四个重要的设置控制 PHP 可使用多少系统资源,如表 1 所列。


表 1. php.ini 中与资源相关的设置


设置
描述
建议值


max_execution_time
一个脚本可使用多少 CPU 秒
30


max_input_time
一个脚本等待输入数据的时间有多长(秒)
60


memory_limit
在被取消之前,一个脚本可使用多少内存(字节)
32M


output_buffering
数据发送给客户机之前,有多少数据(字节)需要缓存
4096
  具体数字主要取决于您的应用程序。如果要从用户处接收大文件,那么 max_input_time
可能必须增加,可以在 php.ini 中修改,也可以通过代码重写它。与之类似,CPU 或内存占用较多的程序也可能需要更大的设置值。目标就是缓解超标程序的影响,因此不建议全局禁用这些设置。关于 max_execution_time
,还有一点需要注意:它表示进程的 CPU 时间,而不是绝对时间。因此一个进行大量 I/O 和少量计算的程序的运行时间可能远远超过 max_execution_time
。这也是 max_input_time
可以大于 max_execution_time
的原因所在。

  PHP 可执行的日志记录数是可配置的。在生产环境中,禁用除最重要的日志以外的一切日志记录能够减少磁盘写操作。如果需要使用日志来排除问题,那么可以按需启用日志记录。error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
将启用足够的日志记录,使您发现问题,同时从脚本中消除大量无用的内容。




回页首

  结束语

  本文重点探讨 Web 服务器的调优,包括 Apache 和 PHP。对于 Apache,总体的想法是消除 Web
服务器必须执行的多余检查,例如处理 .htaccess 文件。还必须调优所用的多处理模块,以便在使用的系统资源和可供传入请求使用的空闲
worker 之间找到平衡。对于
PHP,最好的事情就是安装一个操作码缓存。密切注意几个资源设置也能确保脚本不会浪费系统资源,不会减慢系统处理其他任务的速度。
  本系列的下一篇也是最后一篇文章将介绍 MySQL 数据库的调优。请继续关注!


  参考资料

  学习



  • 您可以参阅本文在 developerWorks 全球网站上的 英文原文


  • “使用应用程序跟踪对性能改变进行量化分析

    (developerWorks,2006 年 8 月)介绍了如何利用应用程序追踪来展示 Apache 配置更改的效果。

  • “PHP V5.2 中的新增功能,第 1 部分: 使用新的内存管理器
    ”(developerWorks,2007 年 4 月)涵盖了 PHP 5.2 在内存处理方面的最新变化。PHP 一直在不断优化其对系统资源的使用。

  • mod_deflate
    是一个 Apache 模块,可动态压缩输出。在 PHP 中也可通过 输出压缩
    实现这种功能。
  • 预缓存将压缩 JavaScript 代码之类的静态文件。CSS 是提高性能的另一种途径。压缩和连接所有 JavaScript 代码及 CSS
    就更好了。
  • 介绍 多处理模块
    的 Apache 文档值得一读,可从中了解各模块的功能性,单击相应链接可查看所选 MPM 的具体文档。
  • 在 developerWorks 中国网站  Linux 专区
    可找到针对 Linux 开发人员的更多资源。
  • 随时关注 developerWorks 技术活动
    和 网络广播

  获得产品和技术



  • 如果您的发布版不包含 eAccelerator
    ,Install From Source
    说明会对您有所帮助。

  • Alternative PHP Cache

    Zend Platform
    是 eAccelerator 的替代工具。

  • Siege
    使您可以模拟用户,以便了解站点能够处理多少流量。
  • 您迟早会打算缓存站点的某些元素,并将负载分布到多个 Web 服务器上。Squid
    的加速器模式(也称为反向代理)或 Linux Virtual Server Project
    都是不错的工具。

  • 订购 SEK for Linux
    ,这有两张 DVD,包含用于 Linux 的最新 IBM 试用软件,包括 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere®。
  • 利用可从 developerWorks 直接下载的 IBM 试用版软件
    构建您的下一个 Linux 开发项目。
  讨论



  • 通过参与 developerWorks
    blog
    加入 developerWorks 社区

  关于作者


  
从 1994 年开始,Sean Walberg 就一直在学术、企业和互联网服务提供商环境中从事 Linux 和 UNIX 系统的研究。在过去几年里,他撰写了大量有关系统管理的文章。





建议








  0
 条评论 |
登录
添加评论
举报不良信息





添加评论
  标有星号(*
)的是必填项目。



  评论:*






 
 








  快来添加第一条评论







  显示最新的 5 条评论
|

显示后 5 条评论
|

显示所有评论



  登录
添加评论














回页首




static.content.url=http://www.ibm.com/developerworks/js/artrating/

SITE_ID=10

Zone=Linux, Open source, Web development

ArticleID=229352

ArticleTitle=LAMP 系统性能调优,第 2 部分: 优化 Apache 和 PHP

publish-date=06072007

author1-email=sean@ertw.com

author1-email-cc=

url=http://www.ibm.com/developerworks/cn/linux/l-tune-lamp-2.html



内容




  • 调优 Apache

  • 调优 PHP

  • 结束语

  • 参考资料

  • 关于作者

  • 建议





标签




使用 搜索
文本框在 My developerWorks 中查找包含该标签的所有内容。  使用 滑动条
调节标签的数量。
  热门标签
显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。
  我的标签
显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。



使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签
显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签
显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。
  搜索所有标签
 





  热门文章标签
 | 
我的文章标签
跳转到标签列表



  热门文章标签
 | 
我的文章标签


跳转到标签列表


热门标签



bash
(4)
 


best_practices
(2)
 


c
(5)
 


eclipse
(13)
 


eserver_openpo...
(3)
 


file_systems
(11)
 


ganglia
(2)
 


hadoop
(10)
 


java_技术
(4)
 


kernel
(4)
 


linux
(63)
 


linux_kernel
(3)
 


linux_on_powe...
(13)
 


linux_入门
(11)
 


linux环境进程间通信
(4)
 


nagios
(2)
 


on_demand_bus...
(7)
 


perl
(16)
 


php_(hypertex...
(10)
 


posix
(2)
 


python
(20)
 


resource_virt...
(12)
 


shell
(3)
 


shells
(9)
 


system_i
(2)
 


system_p
(7)
 


system_x
(4)
 


unix
(2)
 


vim
(2)
 


virtualization
(2)
 


web_服务
(4)
 


x86
(3)
 


安全
(25)
 


安装
(14)
 


编码
(10)
 


存储
(14)
 


代码库
(12)
 


调试
(9)
 


多线程
(3)
 


发行版
(6)
 


方法论
(3)
 


防火墙
(4)
 


访问控制
(4)
 


负载均衡
(4)
 


工具与及实用程序
(3)
 


管理
(62)
 


集群
(26)
 


脚本
(3)
 


脚本编程
(13)
 


开发工具
(31)
 


开放源码
(13)
 


零拷贝
(3)
 


内核
(67)
 


配置
(18)
 


迁移
(9)
 


驱动程序
(6)
 


全球化
(5)
 


认证
(6)
 


社区
(3)
 


数据库和数据管理
(14)
 


体系架构
(3)
 


通用编程
(8)
 


图形
(12)
 


网络
(15)
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-380684-1-1.html 上篇帖子: IBM X31 数据迁移心得 下篇帖子: IBM面试题搜集
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表