gpt4 book ai didi

javascript - 大量提供用户定制的脚本

转载 作者:行者123 更新时间:2023-11-28 18:38:25 25 4
gpt4 key购买 nike

我们目前有一个通过网络服务器(通过 Apache WSGI 的 Flask)提供的脚本。

这是一个用户可自定义的 Javascript 文件,其中包含一些通用逻辑和一些用户可自定义的参数,这些参数因用户而异。

目前提供服务的方法对我来说似乎非常低效,那就是将每个用户的配置存储在本地数据库中,并在发送之前附加通用逻辑代码。例如:

var user_config = {...};
// ====== separation ======
var logic = (function() {
// Consume config data here
});

配置是通过用户登录我们的网站并自定义他们想要的一些功能来完成的,但配置基本上是一个非常大的 JSON。

最初这样做的原因是为了使客户端代码尽可能简单。他们只需在他们的网站上包含一个带有 ID 的脚本标签:

<script src="http://path.to.script?id=ABC></script>

我现在发现的问题是,我正在尝试修改最初开发的方法以更好地处理高负载,因为它目前似乎正在挣扎。

提供这些针对每个用户的自定义脚本以最好地减少我们服务器上的负载的方式是什么,同时可能利用一些缓存或其他负载减少功能。

最佳答案

这完全取决于定制的内容和方式。如果可能,让用户在脚本查询参数中序列化/json 编码他们的配置参数。

编辑

现在我对这种情况有了更多的了解,我认为您离最佳设置不远了。

由于序列化/转换为 JSON 时配置非常大,所以我认为是的 - 您将不得不将其保存在数据库中。也许制作一个专门用于此的表/数据库。 UserId 字段 + Config JSON.

IMO 减轻服务器高负载的最佳方法是实现基于 RAM 的缓存层,例如 memcached。

确保您的数据库也已优化,如果 ID 字段尚未编制索引,则编制索引。

然后将所有这些放在 Varnish 之类的东西后面。

如果您的高负载是由在任何给定时间可能出现峰值的大量不同请求引起的,那么我认为您需要做一些工作来为所有活跃用户持续保持缓存温暖。

如果您的脚本需要写入数据库来记录指标,那么或许可以考虑将该功能移至客户端脚本中并让它执行 AJAX 调用。

希望这对您有所帮助。

关于javascript - 大量提供用户定制的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049318/

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