我们的房地产网站会在符合用户保存的搜索条件的市场上发送电子邮件通知。
我有一个在cronjob上运行的PHP脚本来处理搜索。
现在该系统拥有超过40,000名用户。我遇到了一个耗尽PHP内存大小的问题。随着系统的增长,我可以继续增加php.ini中的内存大小,但是希望找到一种更强大的方法来实现这一点。
是否有更具伸缩性的方法来实现这一目标?我应该用更健壮的语言构建一些东西吗?也许是Java或Python中的线程化应用程序?
答案 0 :(得分:1)
使用保存的搜索表中的某些标识符按任务计算机划分任务。
划分并征服,将搜索重构的各个部分分解为许多计算机,每个计算机都运行一些任务分区。
每个脚本都可以
SELECT * FROM saved_search_tbl WHERE ssid IN CALCRANGE(searchid, node_id)
INRANGE是基于工作量和机器节点号的分区逻辑。当新的搜索进入时,您可以通过分配主计算节点和辅助计算节点在计算机上进行负载平衡。
一些想法,希望他们帮忙!
祝你好运