【问题标题】:server performance: multiple external connections and performance服务器性能:多个外部连接和性能
【发布时间】:2010-03-20 04:07:56
【问题描述】:

我正在创建一个 php 脚本,该脚本需要服务器每次运行发出多个 cURL 请求。我将每 3 分钟通过 cron 运行这个脚本。我希望在 24 小时内最大限度地提高 cURL 请求的数量。

我想知道的是,从性能的角度来看,获得一个专用服务器或几个小型共享主机帐户是否会更好。问题在于外部连接的数量而不是系统资源,我想知道哪个是最好的方法。

【问题讨论】:

  • 您希望每 3 分钟循环运行多少次?有没有想过不使用 CURL 而是使用更高效的方法?
  • 你说你每3分钟发出几个请求,这意味着请求量很小。你还想最大化请求的数量,这是怎么回事?您要下载互联网吗?
  • @TomTom - 我从来没有遇到过 cURL 的任何性能问题,您能否为 HTTP 请求建议“更高效的方法”?如果性能是关键,我会比 cURL 更关心 PHP 的性能并将其开发为原生应用程序。
  • 好吧,curl 是一个不错的实用程序,但你不认为大型网络爬虫使用它吗?为什么要启动/停止进程 10.000 次以检查 10.000 个 URL?这就是问题所在 - 如果您真的需要性能,请编写一个程序,使用异步 IO 在多个线程中检查 LIST ot url 而无需重新启动。取决于你需要多少物品。这就是我的全部方式。 PHP 我在这里看不到相关的错误标签。问题是 CRON + 脚本。怀疑用户在他的应用程序的那部分使用 PHP。更多关于前端 ;)

标签: php shared-hosting cron dedicated-hosting


【解决方案1】:

共享主机帐户通常具有非常低的限制,这使得这样的事情变得困难。我不会推荐这个。投资一个 VPS 托管帐户(例如使用 Linode 或 Slicehost 的帐户)会更有效。他们通常没有连接限制(或者至少没有我遇到的限制)。它们也比直接共享主机更快、更具成本效益。专用服务器将是矫枉过正。

此外,由于您使用的是 PHP,请随意利用 curl_multi_init,这将允许您一次运行多个 cURL 请求。

希望这会有所帮助!

【讨论】:

  • 太棒了 - 我明天将着手解决这个问题,并将其落实到位。我以前从未见过这个功能,但它看起来很完美
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-02
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
相关资源
最近更新 更多