繁体   English   中英

为了满足较高的可伸缩性和性能需求,是否最好在PHP应用程序的后端使用C ++或Java实现?

[英]For high scalability & performance needs, is it preferable to have C++ or Java implementation at the backend of a PHP application?

为了满足社交门户网站的高可伸缩性和性能需求,是否建议在PHP应用程序的后端使用C ++或Java实现?

相同的好处和取舍是什么?

从原始性能的角度来看,C ++将使您比Java或PHP更远,比C#稍远。 我的意思是,如果您使用这些不同的语言实现相同的算法,则很可能会看到C ++的最佳性能(尽管这完全取决于您的工作方式和操作方式-本身就是另一种语言)并不是万能的子弹;您需要学习如何充分利用该语言,这可能需要花费数年的时间。

正如@spender所说,与仅切换到另一种语言相比,使用经过深思熟虑的算法和体系结构通常可以在性能上获得更大的收益,而在可伸缩性方面也可以取得更大的收益。 性能从根本上讲就是要有效率(最大限度地减少对带宽,内存,磁盘和CPU等资源的使用 ),而可扩展性则主要是使事情并行运行(最大限度地减少对数据,带宽,内存和CPU等资源的争用并最大程度地减少需求以便系统的不同部分相互通信)

正如@Kugel所说,如果您拥有真正可伸缩的体系结构,则可以在某种程度上将更多的硬件用于解决问题,与使用其他语言重写所有内容相比,这最初可能是一种更便宜的方法。 但是,如果您的站点成功,则使代码尽可能高效将减少硬件和运行成本。

另一个考虑因素可能是与开发/可维护性相关的-如果您是PHP的专家,并且是C ++的新手,那么与PHP相比,从PHP中获取的收益可能更多。 您必须考虑整个情况,并找出最“商业可行”的解决方案,而不仅仅是理论上性能最高的解决方案。 或者,您可能会发现您的“组合在一起,并且工作异常出色”的PHP解决方案在一周内就可以启动并运行,而高度优化的C ++却从未完全完成。

您不会写下一个Facebook。 现在用PHP(或您最喜欢的任何语言)编写它。 如果您很幸运地成长到足以使php无法处理负载的程度,则可以重新设计您的网站。 除非您运行的是全球排名前100位的站点之一,否则您只是在进行过早的优化。

首先,PHP已经是一个后端。 PHP本身是用C或C ++实现的。

对于可伸缩性,语言无关紧要,因为可伸缩性是关于多个请求的并行处理。

为了达到“尽快处理单个请求”的性能,语言通常很重要,这就是Facebook将PHP编写为C ++编译器的原因。

这取决于您对“高”的定义以及其他许多因素。 通常,性能应该只是“足够”。 根据我的经验,尝试从一开始就编写最快的实现可能会适得其反。 至于IMO的语言选择,它更多地取决于编写代码的人员及其在问题领域的经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM