gpt4 book ai didi

performance - 寻找模式/方法/建议来处理与Web应用程序关联的长期运行的操作

转载 作者:行者123 更新时间:2023-12-04 03:03:06 24 4
gpt4 key购买 nike

我正在开发一个消费类Web应用程序,该应用程序需要长时间运行并与每个客户请求相关联。长期运行,我的意思是介于1到3分钟之间。

这是一个示例流程。对象/小部件并不重要。


客户来到该网站并指定他们要查找的对象/小部件。
我们搜索/清理/过滤与某些初始条件匹配的小部件。 <-运行时间长
客户进一步配置有关他们要寻找的小部件的更多详细信息。
完成长期运行的过程后,客户可以在转换之前完成最后几步。


步骤3和4并不是很重要。我只提到它们是因为我们可以在长时间运行的过程中抽出一些时间。

我们正在使用的环境是一个LAMP堆栈-当前使用PHP。让长时间运行的进程占用mod_php(或fastcgi进程)中的apache线程似乎不是一个好的设计。我们应用的apache层应专注于提供内容,而不是IMO的数据处理。

几个问题:


我们的想法是否正确,就是我们应该将这一“长期运行”部分从apache / web应用程序层中分离出来?
在Linux / Apache / MySQL / PHP下有没有一种标准/典型的方法来实现这一点(如果合适,我们愿意使用其他语言进行处理)?
关于如何进行突破的任何建议?例如。我们是否会创建一个通过FIFO队列搅动的守护进程?


编辑:只是为了澄清,只有大约1/4的长期运行过程是以数据库为中心的。我们正在努力优化该部分。我们可以做一些工作,但是目前我们的工作量有限。

谢谢!

最佳答案

考虑通过Web服务而不是应用程序通过AJAX提供搜索结果。大概您可以将其卸载到另一台服务器,然后让Web应用程序根据需要处理内容。

只是好奇:1-3分钟对于查找查询来说似乎很长。您是否查看过要查询的列上的索引以提高速度?还是您需要做一些算法处理-也许您可以离线执行一些操作,并用提示预填充一些常用搜索?

关于performance - 寻找模式/方法/建议来处理与Web应用程序关联的长期运行的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/235345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com