我拥有VPS服务器,我想对我的服务器做一些事情,我有关于15K用户名的大数据。
我需要的是,将所有用户名作为cURL请求发送,网址为:website.com/getaccount.php?username =。
那么这个案子的解决方案是什么..我不想用Cron制作它因为它需要15K的工作而且非常糟糕。
我可以用哪种语言优化15K用户? bash? perl? PHP?如果我可以使它成为单独的文件,每个文件内容为5K用户。
请给我一个解决方案,非常感谢..
答案 0 :(得分:3)
如果我正确理解您的问题,您很可能希望通过使用Gearman
等作业服务器来分发这项重要工作Gearman 非常灵活,您可以使用它来非常快速地批量处理大量作业。
当谈到你应该使用什么语言时...我会使用你感到舒适的任何东西。我已经使用处理了大型工作(比你描述的大得多) bash + php 过去。 Php有一些非常好的包装库,你可以用它来快速启动。
希望这可以帮助您朝着正确的方向前进。
建议的链接:
Gearman PHP Extension - Quick Start
答案 1 :(得分:0)
所有用户名是否每分钟都在变化?如果不是,那么将它们全部发送是没用的。仅发送差异(增量),例如“删除用户1”或“添加用户2”或“将用户1重命名为用户2”
此外,如果我正确理解您的示例,您希望为每个用户名发出cURL请求,这意味着每分钟15K请求。对我来说,这似乎浪费了类似于dDos攻击的资源。我希望这不是你想在自己的服务器上实现的目标。
也许尝试将您的数据量减少到只有相关数据,并在单个cUrl请求中批量处理所有数据!
15K不是那么大,但你需要正确处理它!
答案 2 :(得分:0)
是否可以创建一个文件,其中每一行都是用户名。获得文件后,您可以使用工具rsync将其同步到您想要的任何系统中。在该系统中,您可以获取该文件以更新所有令您满意的内容。实际上15K并不是一件大事,问题更多的是延迟。每分钟都很快。您可以使用任何可以连接到数据源的语言生成文件,rsync可以每分钟从cron作业触发而没有任何问题。
这里使用cURL可以是一个特定的用户名(如果存在,如果密码匹配等),但这里我能看到你的请求的唯一原因是备份,正如我所说的一分钟非常快为此。
答案 3 :(得分:0)
如果我了解你想通过cURL将所有用户数据发送到远程php脚本是不是? 如果是这样的话,你可以使用Python来编写一个带有Sleep功能的小脚本,每1分钟会触发一次
语法:
导入时间 time.sleep(秒)