-3

我拥有 VPS 服务器,我想用我的服务器做一些事情,我有关于 15K 用户名的大数据。

我需要的是,将所有用户名作为 cURL 请求发送:website.com/getaccount.php?username= 每分钟。

那么这种情况的解决方案是什么.. 我不想用 Cron 来做,因为它需要 15K 工作,这非常糟糕。

我可以用哪种语言优化 15K 用户?重击?珀尔?php? 如果我可以将其分开文件和每个文件内容 5K 用户。

请给我一个解决方案,非常感谢..

4

4 回答 4

3

如果我正确理解您的问题,您很可能希望通过使用诸如Gearman之类的作业服务器来分发这个大作业

Gearman非常灵活,您可以使用它非常快速地并行处理大量作业。

当涉及到您应该使用哪种语言时...我会使用您喜欢的任何语言。我过去使用bash + php处理过大型作业(比您描述的要大得多) 。Php 有一些非常好的包装库,您可以使用它们来快速启动。

希望这可以帮助您朝着正确的方向前进。

推荐链接:

Gearman PHP 扩展 - 快速入门

用于管理齿轮工人的 PHP 守护进程

基本 Gearman 客户端和工作者,提交任务

于 2013-08-26T15:06:44.580 回答
0

您是否可以创建一个文件,其中每一行都是一个用户名。一旦你有了你的文件,你可以使用工具rsync将它同步到你想要的任何系统中。从该系统中,您可以获取该文件以更新所有您喜欢的内容。15K其实没什么大不了的,问题更多的是延迟。每一分钟都很快。您可以使用任何可以连接到数据源的语言生成文件,rsync 可以每分钟从 cron 作业触发,没有任何问题。

此处使用 cURL 可能用于特定的用户名(如果存在,如果密码匹配等),但在这里我可以看到您的请求的唯一原因是备份,正如我所说的那样,一分钟非常快。

于 2013-08-26T15:06:30.960 回答
0

所有用户名是否每分钟都在变化?如果没有,那么将它们全部发送是没有用的。仅发送差异(增量),例如“删除用户 1”或“添加用户 2”或“将用户 1 重命名为用户 2”

另外,如果我正确理解您的示例,您想为每个用户名发出一个 cURL 请求,这意味着每分钟 15K 请求。对我来说,这看起来像是一种类似于 dDos 攻击的资源浪费。我希望这不是您想要在自己的服务器上实现的目标。

也许尝试将您的数据量减少到仅相关数据并在单个 cUrl 请求中批量处理所有数据!

15K不算大,但你需要正确处理!

于 2013-08-26T15:04:23.257 回答
0

如果我了解您想通过 cURL 将所有用户数据发送到远程 php 脚本,对吗?如果是这种情况,您可以使用 Python 编写一个带有 Sleep 函数的小脚本,该函数每 1 百万次触发一次

句法 :

导入时间 time.sleep(secs)

于 2013-08-26T15:10:13.297 回答