找回密码
立即注册
发新帖
匿名  发表于 2023-9-4 23:58:09 | 查看: 549| 回复: 3
怎样提高php运行速度
有很多方面可以下手...以下是本人大致了解的....
数据库操作是 php 项目性能的瓶颈所在, 多数情况下, php慢, 都是因为在等待数据库响应
PHP每次版本发布, 基本都会涉及到性能的优化, 及时升级php也是一个手段 (需要注意代码的兼容性)
使用加速扩展, 例如: apc, opcache 等. 该类扩展缓存了脚本文件解析编译生成的opcode.
php是跑在 zend vm 上的, 在php执行的流程中, 需要加载脚本文件, 然后做词法语法解析, 然后再编译生成opcode, 接着执行. 缓存opcode 就是为了重复加载, 解析, 编译的过程, 从而起到加速php的作用.
其它就是编码上功夫了,  这需要一个经验的累积.

匿名  发表于 2023-9-4 23:58:37

浅谈如何提高PHP的速度
1、代码优化

代码优化不仅仅是写出干净和清晰的代码,而是对代码进行一定的简化。可以使用Zend Optimizer来自动帮助完成这些繁杂的工作。Zend Optimizer可以从Zend Technologies的网站免费得到,但必须同意它的许可约定,因为它不是以GPL方式发行的。它的原理很简单,即通过检测Zend引擎产生的中间代码,并对它进行优化,从而获得更高的执行速度。

在使用了Zend Optimizer后,复杂的PHP源程序的执行效率马上会得到显著提高,缺点是优化后的代码可读性下降,给代码修改带来困难。

Zend Optimizer的安装方法非常简单,只要根据用户使用的平台,下载相关的预编译版本,把下面2行代码加入到php.ini文件中,重新启动Web 服务器就行了:

zend_optimizer.optimization_level=15

zend_extension=″/path/to/ZendOptimizer.so″

zend_loader.enable=Off

额外增加的第三行代码是可选的,因为禁用zend_loader将会使优化速度更快。需要注意的是,只有在不使用Zend Encoder Runtime的时候,才可以禁用zend_loader。

2、使用缓存

如果PHP程序的规模很大,那么提高速度的办法就是使用缓存。现在已经有许多缓存方案可供选择,其中包括Zend Cache、APC和Afterburner Cache。

上面这几种都是“缓存模块”(caching modules)。第一次调用PHP文件时,缓存模块从PHP源代码生成一些中间代码,并把这些中间代码存储在Web服务器的内存中。以后再调用这些文件时,就可以直接使用内存中“编译”过的代码。这种方法确实能够改善应用的性能,因为它使得磁盘访问量减低到了最少的程度(代码已经读取和解析),代码直接在内存中运行,使得服务器响应请求的速度大大提高。

当然,缓存模块还会监视PHP源文件的变化,必要时会重新缓存页面,从而防止用户得到的页面仍旧由过时的PHP代码生成。由于缓存模块能够明显地降低服务器的负载,提高PHP应用的响应效率,因此它们非常适合于负载较大的网站使用。

Zend Cache是Zend Technologies公司开发的商业软件。在第一次运行后,PHP页面的运行速度立刻会有很大的提高,服务器的空闲资源也更多了。缺点是它不是免费的,但性价比还是很高的。

Afterburner Cache是Bware Technologies公司开发的免费缓存模块。功能与Zend Cache基本一样,但提高性能方面比不上Zend Cache。

APC(Alternative PHP Cache)是由Community Connect公司开发的另一种免费缓存模块,目前版本是2.0.4,可以从获得。对于产品应用来说,它的性能很稳定,而且也能在很大程度上提高响应请求的速度。

问下问下
一般英文简写APC:Advanced Process Control

一:医学领域的APC

1.复方阿司匹林.由阿司匹林,非那西丁和咖啡因制成的一种解热阵痛药.[英aspirin,phenacetin and caffeine compound的缩写形式]

2.现已知辅佐细胞在机体的免疫应答过程中起着十分重要的作用,能摄取、加工、处理抗原并将抗原信息提呈给T淋巴细胞,故又称为抗原提呈细胞(antigen-presenting cell,APC)。

二:军事领域的APC

1.APC Armored Personnel Carrier(人员装甲运输车):步兵战斗车,是一辆全天候、全地形的轻型装甲载具,具有在战场上迅速移动军火和运输部队的能力。

2.APC Armor Piercing Capped (被帽穿甲弹):和穿甲弹类似,主要区别是带头部加了一个帽子(这样可以部分防止弹体碎裂或跳弹),其他原理相同,但是只有在高攻角(60到70度)是才能发挥威力,角度较低就不要使用了。破甲弹版本是APCHE。

三:计算机领域的APC

1.Alternative PHP Cache (APC)是一种对PHP有效的开放源高速缓冲储存器工具,它能够缓存opcode的php中间码。

2.APC:高级PC组态,在WINCC建立的高级PC组态中,实现对整个S7项目中涉及的每个对象,如PLC WINCC站进行管理,无论那个站都含有一个实际的站还有一个虚拟的站,还要对相关的站时间建立通讯连接.

3..APC (Automatic Power Control) 自动功率控制。

Adaptive Predictive Coding自适应预测编码

四:生活领域的APC

[编辑本段]1.经济学

APC的经济学定义:平均消费倾向 (average propensity to consume)

平均每单位收入中消费所占比例。

计算:总消费在总收入中所占比例=消费/收入=c/y

APC1,消费总量收入总量(产生储蓄);

APC=1,把全部收入都用于消费(储蓄为零);

APC1,消费总量大于收入总量(负债消费,即产生负储蓄)。

例:收入100元中80元用于消费

平均消费倾向APC = c/y = 0.8

[编辑本段]2.电力公司

.美国电力转换公司(尼克松访华时送给中国的国礼之一---APC UPS)

匿名  发表于 2023-9-4 23:58:55
公司概况

创立于1981年的APC公司(美国电力转换公司,NASDAQ:APCC)是全球领先的网络关键物理基础设施(NCPI)全线产品提供商。其总公司位于美国罗得岛州西金斯敦。APC一直致力于为用户提供高可靠的电力保护环境,并以传奇般的可靠性闻名于世,其质量、创新技术以及对数据中心到桌面系统等全套设备的支持都已成为业界的标准。APC的产品范围包括:浪涌抑制器、不间断电源设备(UPS)、直流电源系统、机房用空调、电缆及连接解决方案、高可用可升级式数据中心系统结构、整体机房物理环境解决方案、电力调节设备、相关的设备管理软件,以及为“不间断网络”提供的专业咨询服务。APC全方位的解决方案既适用于企业环境,也充分满足家庭的需要,极大地改善了敏感电子设备、网络、通讯和各类工业设备的性能、可管理性、可用性。

特点和优势:

全球一体化方案 - 全球用户都可以方便快捷地获得APC的“最佳”电源系统、管理和服务解决方案,无论是桌面系统,还是数据中心或是企业,都可以得到可靠的服务与保障;财政力量 - APC连续增长的销售额和收入,使得APC成为IT界活跃的合作伙伴;有效的生产机制 - 在全球主要地区设立了生产基地,从而能够及时为其各地用户提供最新产品;- 革新性的产品 APC的硬件设计满足了用户的真正要求;INFRASTRUXURE™(英飞集成系统)

APC公司通过推出最新的InfraStruXure系统结构,倡导了一种开放式、可自适应的综合解决方案,重新定义了网络关键物理基础设施(NCPI)的实现规则。InfraStruXure弥补了传统的支持IT设备的电源、制冷设备在技术上与先进的IT设备之间的差距。作为采用模块化、高可管理性、预先设计标准组件的方法集成了电源、机架、制冷设备的体系结构,InfraStruXure为整个IT系统提供了安全、可靠的保护环境。

APC公司使命

APC的使命是通过迅速地开发和提交解决客户真正问题的创新解决方案来改进信息和通讯系统的可管理性、可用性和性能,使客户满意。

遍布全球的力量

匿名  发表于 2023-9-4 23:59:06
APC总部位于美国罗得岛州西金斯敦,公司在世界各地设有销售机构,在美国、爱尔兰、瑞士、菲律宾、中国、印度、巴西设有制造工厂,产品行销全球120多个国家。

APC历史

1981年,美国麻省理工学院林肯实验室的三位电力工程师合力创办了APC公司,当时是专注于太阳能的研究与开发;1984年,APC公司注意到不间断电源市场的潜力,并且结合自身的技术优势,开始专门生产UPS产品,并推出了其第一种不间断电源(UPS)750型。1988年7月,APC公司正式成为公开上市公司,从而获得了保证其业务发展的充足资金。股票发行代码为APCC。1998年APC在收购了大型UPS供应商Silcon公司后,完成了由原先的小型UPS领导厂商到“端到端”电源保护解决方案供应商的转变。2000年,其营业收入达到创纪录的14.8亿美元,继续保持全球最大的UPS供应商地位。2006年,APC再次入选“财富1000强”、福布斯 “白金级企业400强”、“金融时代500强”排行榜,并成为“SP500强”、“纳斯达克100强”企业。

关键应用领域

今天,APC将业务重心放在了四个关键应用领域:

家用办公网络;

商业网络

接入供应商网络

大型数据中心及设施

这四个领域都有一个共同的主题:高可用性是不断提升的根本。APC在这四个领域中不断努力使自己成为全球的优质品牌。

APC所获荣誉与奖项

在过去的几年中,APC已经在全世界获得了数百个奖项。远远多于其它同类厂商。这些奖项是对APC在可靠解决方案和全面业务增长方面的肯定和褒奖。APC被列为“财富1000强”、福布斯 “白金级企业400强”、“福布斯500强”之列,并成为“SP500强”、“纳斯达克100强”企业。

如DNF塔25层的十猛龙APC

五:网络游戏的APC

APC: 异步过程调用 Asyncroneus Procedure Call

APC 也就是有AI的NPC 类似玩家可创建的角色,人工智能怪物,新版本新出的,智能怪(相当于3D游戏中的移动NPC) APC对于很多国内玩家也许是一个陌生的词语,但是对于很多HF,RF玩家来说它 可并不陌生,APC怪物不但存在于那恐怖的死亡之塔中,就连一般的副本中也存 在着,APC秒人能力绝对不亚于BOSS,甚至有过之而无不及,很多APC都会在玩家 心目中留下阴影,他们的强大程度,可以说除非有过硬的技术否则,在同等级下 还是尽量别去招惹他们比较实在。 而提到APC我们就不得不提死亡之塔了,这是一个每隔几层就有APC守护的地方,他们的实力非常强,而且完全不同于玩家,APC与玩家不同的地方非常多,比如APC街霸的扔道具速度非常 快并且没有什么间隔,不小心就满屏幕盘子,还有他们的网束缚几率是100%的,并且出招极 快,一不小心就被打到了,他们有着很多玩家才有的技能,而且很多都是没有CD的,看到这里, 你了解APC的可怕了吧,而且这只是开始而已。 假如你把那些APC只是当作一般的人型怪物那你就错了,APC有着非常好的跑位和智慧,知道什 么时候会用什么技能,包括连招上,一些比较厉害的APC比起普通的玩家有过之而无不及,一些 技术比较弱的玩家也可以利用APC提升自己的技术,在拿我练的街头举例吧,一些街头APC的扯抓,XX针XX拍砖连QJ连的非常好,看到你跳跃或者跑位有漏洞也会马上出网,网住就是针砖QJ,一直PK的玩家肯定知道被网针砖QJ是什么感觉吧?APC也会这样,所以,千万不要小看APC,一不小心你就会送命。 相信很多玩家都知道觉醒技能,而觉醒也是很多玩家秒杀怪物甚至BOSS的利器之一,而觉醒的威力之大,让很多玩家会去想着完成那极难的觉醒任务,而APC们也不甘示弱,部分APC也会觉醒,而且威力非常可怕,绝对不亚于玩家打出的伤害,一不小心就被秒杀了,假如全吃的话就更毫无疑问的只能被KO了,所以千万别以为只有自己才会觉醒哦。 看到这里相信大家对APC有所了解了吧,也许有些玩家会说,那些东西还早着呢,我们接触不到, 放心,随着GF的新ACT诞生,APC也会随着诞生,所以不要以为那些东西离我们很远,已经很近很近了, 也希望玩家在与APC的较量中能够轻松获得胜。

哪种php加速器最靠谱APC,XCache,eAccelerator
这些加速器统称Opcode Cache,全部都支持opcode cache功能,性能差距也不大,zhao yi说得对,哪个用在你的项目中没问题就先用着哪个。

除opcode cache外,人们也经常用他们的变量缓存功能(与memcached不一样,apc/eac/xcache他们是存在本地内存里的,免去了网络开销,更快),早期的eac不支持变量缓存,后来支持了。xcache是中国人作品,几乎跟apc功能一样。

此外,08年的时候,我们曾经遭遇APC Bomb问题,据国外社区说xcache在这个问题上表现好一点,后来我们用另外的方法搞定了,没有测试数据表明是不是xcache好一点。

PHP中4个加速,缓存扩展的区别和选用建议
1、eAccelerator

eAccelerator是一个自由开放源码PHP加速器,优化和动态内容缓存,提高了PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高1-10倍。从文字上可以理解为:eAccelerator是PHP加速器扩展。

2、memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。从文字上可以理解为:内存缓存扩展,并且针对于集群服务器使用较多,主要用于分布式缓存,算是数据库缓存。

3、Alternative PHP Cache(APC缓存)

Alternative PHP Cache (APC缓存)是一种对PHP有效的开放源高速缓冲储存器工具,他能够缓存Opcode(目标文件)的PHP中间码。 APC的缓存分两部分:系统缓存和用户数据缓存. 系统缓存 是自动使用的,是指APC把PHP文件源码的编译结果缓存起来,然后在再次调用时先对比时间标记。如果未过期,则使用缓存代码运行。默认缓存 3600s(一小时).但是这样仍会浪费大量CPU时间.因此可以在php.ini中设置system缓存为永不过期(apc.ttl=0).不过如果这样设置,改运PHP代码后需要restart一下您的web服务器(比如apache…).目前对APC的性能测试一般指的是这一层cache;从文字上理到:Alternative PHP Cache(APC缓存)也算是一种内存缓存扩展,算是数据库缓存扩展。

4、Xcache

是一个开源的opcode缓存器/优化器, 他能够提高服务器上的PHP性能,他通过把编译PHP后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率2到5倍, 降低服务器负载。 其实它与eAccelerator一样是PHP加速器扩展。

以上就是他们的作用与区别,简单一点就是:eAccelerator,xcache是PHP缓存扩展,memcached、APC缓存是数据库缓存扩展,一般两者只有要安装其中一个即可,不要贪多。另外,实际测试中发现当Cache数量超过一定阀值的时候,APC的性能不如Memcache。所以在扩展的选择上,本人一般会选择xcache+memcached这个组合。

有那些场景应用下,我们只能选用memcache而不选择php apc?
APC 的缓存分两部分:系统缓存和用户数据缓存.

系统缓存:是自动使用的,是指 APC 把 PHP 文件源码的编译结果缓存起来,然后在再次

调用时先对比时间标记。如果未过期,则使用缓存代码运行。

这个也是我最欣赏的地方,给PHP加速很多!!!

用户数据缓存:由用户在编写 php 代码时用 apc_store 和 apc_fetch 函数操作读取、写

入的.如果量不大的话我建议可以使用一下.如果量大,我建议使用 memcache 会更好。

因为apc随着数据量增大, 性能下降明显, 在超过8万条后, 性能低于Memcache

但是在CLI模式下运行, apc性能稳定, 60万条数据一直远超memcache

我知道也就这么多了,欢迎交流~
高级模式
B Color Image Link Quote Code Smilies

集群智慧云企服平台

QQ|Archiver|手机版|小黑屋|集群智慧云企服论坛

GMT+8, 2024-6-28 02:13 , Processed in 1.089010 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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