【问题标题】:Shell Script vs PHP in CronCron 中的 Shell 脚本与 PHP
【发布时间】:2012-02-20 16:37:57
【问题描述】:

我想对此有实际经验的答案。 哪个更快?编写 Shell 脚本或 PHP 脚本?此脚本将在 cron 中设置。

这是我想要完成的任务的简要想法。

我们从客户那里获得了很多 PGP 加密文件。我们将它们下载到我们的本地服务器,解密它们并将它们移动到不同的位置以进行进一步处理。

每天可能要处理大约 20-25 个文件,并且数量会逐渐增加。

为了测试目的,我们编写了 PHP 脚本和 Shell 脚本来执行此操作。 但我们不确定哪个会更快、更有优势。

有人试过吗?有输入吗?

非常感谢!

【问题讨论】:

  • 好吧,如果你已经写过两者,为什么不分别进行基准测试,你会有一个可靠的答案?
  • 更快?这取决于您如何编写每个脚本。更可靠?再次——这取决于你如何编写脚本。我立即看到的唯一特定于语言/环境的优势是 shell 脚本不绑定到 Web 服务器。没有设置超时,不依赖 Apache/IIS 服务来启动和运行。在速度方面,为什么不给每个脚本计时,看看是否有很大的速度优势?
  • @Kevin 您的 PHP CLI 脚本是否“绑定到 Web 服务器”
  • 有很多变数:您对每种方法的技能、硬件性能、服务器负载和目标文件都将共同决定哪种方法的性能更高。如上所述,基准测试是找到有用答案的最佳方式。
  • 如果您不提供网页,PHP 不需要网络服务器。

标签: php shell cron


【解决方案1】:

如 cmets 所示,您应该只进行基准测试。

与脚本相关的开销肯定与解密阶段花费的时间相比是微不足道的。 (众所周知,密码学是一个计算成本很高的过程,尤其是双密钥加密。)

此外,在现代机器上,20-25 个请求,甚至 1000 个请求,什么都不是,除非我们谈论的是解密巨大的文件(在这种情况下,加密步骤再次将淹没任何优化在包装脚本中)。提出这个问题和进行基准测试可能比您遇到的任何开销都更耗时。

(顺便说一句,我真的希望你在不直接面向公众的后端机器上进行解密。小心你的密钥!)

【讨论】:

  • @Cornad Shults:是的,我们在后台系统中进行。不是面向公众的。基准测试需要时间。所以我一直在寻找是否有人已经尝试过。而且我相信,使用这类便笺的人通常会很快说出这一点。
【解决方案2】:

两者都使用解释器来执行您的任务。根据您使用的操作系统,它们的引擎可能都是用 C++ 编写的。

我会使用 PHP。因为它有更多可以添加的模块。

假设你要进行 PGP 加密,然后你想更新一个 mySQL 数据库,发送一封电子邮件,发布到 facebook,发送一条推文表明你的任务已完成。

编辑 - PHP 不需要 webserv。我指的是php和shell脚本的命令行执行。 PHP 命令行帮助 - http://php.net/manual/en/features.commandline.php

【讨论】:

    猜你喜欢
    • 2016-06-15
    • 2018-03-25
    • 1970-01-01
    • 2013-09-08
    • 2016-11-07
    • 1970-01-01
    • 2017-08-25
    • 2011-01-01
    • 2023-03-06
    相关资源
    最近更新 更多