gpt4 book ai didi

javascript - 如何加速将大量数据传递给数据库的端点

转载 作者:行者123 更新时间:2023-12-05 04:28:46 25 4
gpt4 key购买 nike

本质上,我有一个正在创建的 React Web 应用程序,用于将大量数据上传到数据库。截至目前,我使用的测试文件只有大约 3000 行长,从文件上传所有数据的总时间约为 4 分钟。我需要显着加快速度,但我不完全确定如何。作为引用,我计划上传的文件的实际大小约为 100k 行。另外一个我很确定我可以通过一些修补来解决的问题是我开始用完大约 80k 请求的网络资源,所以如果有任何建议修改我的 delayQue 函数以避免这种情况,那么我们也将不胜感激。

测试文件大小:76kb

实际文件大小:5 mb

端点

  const stepData = async() =>{

const body = {a,b,c,d,e,f}
assignToBody(body)

try{

const response = await fetch('http://localhost:5000/stepdata',{
method:"POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify(body)
})}catch(err){
console.log(err.message)
}

}

Throttle(注意:assignVals 只是将值分配给端点中的 body)

    const delayQue = () =>{

assignVals(row)
row++

if(row % 500 == 0){
setTimeout(delayQue,2000)
}else{
setTimeout(delayQue,100)
}

}

还有另一件事,因为它很重要,每行包含 6 到 20 个数据点。我通过将值分配给对象并传递对象来减少调用次数。非常感谢任何有助于加快速度的帮助。

编辑:为了澄清这个问题,我只需要发出 100k 或更多的请求,并且正在尝试找到一种方法来加快我的请求或至少更好地管理它们,而不是使用 settimeout 和嵌入式 try and catches。

更新:我相当确定问题是我端点的资源泄漏

最佳答案

关于通过网络传输的数据量:

使用 gzip 或 brotli 等压缩算法可以非常有效地减小文件大小。根据您使用的网络服务器,您必须先激活压缩才能使用它。

这里是一个如何使用 express 的例子: https://expressjs.com/en/resources/middleware/compression.html

根据您要传输的数据,您可以显着减小文件大小。重复的文本文件最好压缩。已经压缩的文件,如 jpeg 图像,根本不会压缩。

关于javascript - 如何加速将大量数据传递给数据库的端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72534737/

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