图 1. PHP 请求

stage { [pre, post]: }

Stage[pre] -> Stage[main] -> Stage[post]

当然,人们真正需要的是应用软件,也就是帮助他们完成工作的程序:
从文档编辑,到电子商务,到游戏娱乐,到软件开发。Debian 带来了超过 29000
个 软件包
(为了能在您的机器上轻松的安装,这些软件包都已经被编译包装为一种方便的格式)
— 这些全部都是 自由 软件。

·eAccelerator 是原始 PHP 缓存之一 Turck MMCache
操作码缓存的一个派生。不同于 APC 和
Wincache,它仅是一个操作码缓存和优化器,因此它不包含用户缓存组件。它在
UNIX® 和 Windows 堆栈上完全兼容,且对于不打算利用 APC 或 Wincache
提供的其他功能的站点很流行。如果您要使用 memcache 这样的解决方案来为多
web 服务器环境提供一个单独的用户缓存服务器,那么这就是常见情况。

Puppet是开源企业系统管理工具,它在Puppet
2.6.0发布版(及包括最近的2.6.5在内的后续版本)中已经加入了大量新功能。2.6.x系列版本将以多种方式成为Puppet的下一代,包括通过移动版本数里的小数点(从0.25到2.6.x系列)来使版本数正常化。在该技巧中,我们将强调它们的新功能并列举一些它们如何工作的例子。

我们所创建的这个操作系统中的大部分基本工具来自于 GNU
计划;因此我们把它们命名为 GNU/Linux 和
GNU/Hurd。这些工具同样都是自由的。

毫无疑问,一个操作码缓存是通过在每次请求后消除解析和编译脚本的需要来加速
PHP
的第一步。完成第一步之后,您应当看到响应时间和服务器负载方面的改进。但是优化
PHP 可以做的不止这些,我们接下来将加以讨论。

这些代码规定两个阶段:pre和post。它接着指定执行命令,先是pre,然后是main,接着是post。接着我们可以针对特定阶段中的执行向该阶段中添加资源和类别,例如:

这有点像一个高塔:
在最底层的是内核,在内核上面的是所有的基本工具,然后是所有您在计算机上运行的软件。最后,在这个高塔顶端的就是
Debian —
把每件事情谨慎的组织和配合在一起,使得它们能够在一起和谐地运作。

由于 PHP 是一种解释语言,而非 C 或 Java 等编译语言,对每个请求执行了
“解析-编译-执行”
的整个步骤。您可以看到为何这会耗时、耗资源,特别是当脚本在请求之间很少变化时。解析和编译脚本之后,脚本作为一系列操作码处于机器可解析状态。这是操作码缓存发挥效用的地方。它作为一系列操作码缓存这些编译脚本,以避免为解析和编译每个请求步骤。您将在图
2 中看到这样的工作流是如何运作的。

此外,Puppet现在支持“阶段”的概念,这意味着你可以向你的清单中添加更粗略的命令。如果在特定命令中有配置需要,这对管理分程序很有用。例如,开启主机需要的所有步骤可能发生于主机上的应用配置之前。Puppet创建一个叫做“main”的默认阶段。你可以创建其它阶段并指定它们发生的命令:

为什么人们愿意花费他们自己的时间来写软件,谨慎的包装它,然后再把它全部送给别人?正如同有许多不同的人选择做出这样子的贡献一样,这个问题也有许多不同的答案。有些人只是喜欢帮助别人。有些人利用写程序来学习更多关于计算机方面的知识。也有些人是在寻找一种避免软件价格膨胀的途径。还有越来越多的人是为了对他们从其他人的自由软件中得到的好处表达谢意。在学术界中,有许多人创作自由软件来确保有更多人能够从他们的研究成果中得到好处。在商业界中,也有人利用协助维护自由软件的机会来确保他们在软件发展的过程中占有一席之地

当您需要某些新功能时,没有比自己动手做要来得更快的方法了。当然,我们之中也有许多人纯粹只是觉得这样十分的好玩。

由于 Debian
对自由软件有着郑重的承诺,因此我们觉得我们应该把这样的承诺化为一份正式的文档。这就是
社群契约 的由来。

尽管 Debian
坚信自由软件,但有些时候人们也需要在他们机器上安装非自由软件。 Debian
会尽可能对它们提供支持。安装到 Debian
系统中的用于工作的非自由软件包的数量一直在不断地增长。

免费? 光盘不是要花钱吗?

您可能会问:
如果这个软件是免费的,那么为什么我要为光盘付钱给厂商?为什么我要因为网络下载而付费呢?

当您购买光盘时付的费用是为了要弥补光盘制造商所花费的时间,制造光盘的费用,和他们所冒的风险
(万一他们不能把光盘卖光的话)。换句话说,您所购买的是储存软件的媒体,而不是软件本身。

英文原文的 Free 指的是自由的,而非免费。您可以了解 我们对 “自由软件”
的理解 以及 自由软件基金会对它的定义。

大多数的软件至少都要卖几百块钱,您们怎么愿意白白把它送给别人?

您真正应该问的问题是软件公司怎么可以要您花那么多钱买他们的软件。写软件和制造汽车是完全不同的两回事。一旦您完成了第一份软件的,再做出上百万份相同软件的生产成本可以说是微不足道的
(这是为什么微软会在银行里有那么多亿美金的原因)。

从另外一个观点来看:
如果您的后院里有无限多的沙子,您可能会乐意地把沙子送人。当然,您不太可能笨到自己花钱把沙子运到其他人的家里去,但是您可以让别人自己来把沙子运走
(相当于通过网络下载),或者是收一点点钱来帮别人把沙子运到他们家里去
(相当于购买光盘)。这就是 Debian
的运作方式,也解释了为什么大部分的光盘都那么的便宜 (4 张 DVD 光盘只售 12
元美金)。

尽管 Debian
是一个非营利组织,但我们也需要金钱上的支持。请向愿意把光盘销售金额中一部分
捐赠 给 Debian 的 光盘制造商 那里购买 Debian 光盘。

Debian 支持哪些硬件?

Debian
可以跑在大部份的个人计算机上面,包含大部份旧型的硬件模块。每一次新的
Debian
版本面世通常都会支持一定数量的计算机硬件架构。如果您想获取一份完整的列表,请查阅
稳定版的发行信息。

大多数常见的硬件都有支持。如果您希望确定您所有的硬件都有支持,请查阅
Linux 硬件兼容性 HOWTO。

由于有少数的公司不肯提供所需要的硬件规格资料,因此使得我们无法达成与那些硬件兼容的目标。有一些公司会提供非自由软件的驱动程序,但即使您现在有了该公司提供的驱动程序,将来您还是可能会碰上该公司倒闭或停止支持您所有的硬件的问题。我们建议您只向提供
自由 驱动程序的厂商购买需要的硬件产品。

计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为
Debian GNU/Linux,简称为 Debian。 操作系统是使计…

图 2. PHP 请求使用操作码缓存

Puppet语言中的新功能

您也许会奇怪:

然而,这有几个个简单性能任务会对任何规模的网站的性能产生巨大的影响。在本文中,我们将探讨旨在优化
LAMP 应用程序性能的 5
个这样的任务。这些项目应当很少需要对您的应用程序进行架构更改,使其成为最大化您的
web 应用程序所需的响应能力和硬件需求的安全、便捷的选择。

支持Ruby DSL

Debian 系统目前采用Linux 内核。Linux 是一个最初由 Linus Torvalds
创建,目前由全球成千的程序员共同维护的软件。

提高任何 PHP 应用程序(当然是 LAMP 中的
“P”)的性能的最简单方式是利用一个操作码缓存。对于我使用的任何网站,它是我确保存在的一项内容,因为性能影响很大(很多时候有了操作码缓存,响应时间可减少一半)。但是对
PHP 不熟悉的大部分人的一个很大的疑问是,为何改进会如此之大。答案在于 PHP
如何处理 web 请求。图 1 概览了 PHP 请求的流程。

Puppet语言本身也有一些新功能,包括用哈希值(Puppet已经了解阵列)的能力和添加到现有if/else条件中的elsif结构。

操作系统是使计算机运行的基本程序和工具的集合,其中最主要的部分称为内核
(kernel)。内核是计算机中最重要的程序,负责一切基本的调度工作,并让您运行其他程序。

操作码缓存对于 PHP 流行已久,其中早期的一些要追溯到 PHP V4
的全盛期。目前有一些流行选项正在积极开发和使用中:

require 'rubygems'

require 'mysql'

hostclass :packages do

con = Mysql.new('localhost', 'user', 'password', 'cmdb')

pkgs = con.query('select * from packages')

pkgs.each_hash { |p| package p['name'], :ensure => 'latest' }

con.close

end

node 'default' do

include 'packages'

end

然而,让 Debian 支持其他内核的工作也正在进行,最主要的就是 Hurd。Hurd
是一组在微内核 (例如 Mach) 上运行的提供各种不同功能的守护进程。Hurd 是由
GNU 计划 所设计的自由软件。

澳门微尼斯人手机版 1

2.6.0发布版(及包括最近的2.6.5在内的后续版本)中已经加入了大量新功能。2.6.x系列版本将以多种方…

Debian
计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为
Debian GNU/Linux,简称为 Debian。

澳门微尼斯人手机版,因此当 PHP 脚本的缓存操作码存在时,我们可以跳过 PHP
请求流程的解析和编译步骤,直接执行缓存操作码并输出结果。检查算法负责处理您可能对脚本文件进行了更改的情况,因此在已变更脚本的第一个请求后,会为随后的请求自动重新编译和缓存操作码,替换缓存的脚本。

·执行,它在主机上做实际变更。

这全部都是免费的吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章