与Firebase主机相比,Firebase存储速度非常慢
有人知道为什么firebase存储比firebase托管速度慢得可笑吗 结果与Firebase主机相比,Firebase存储速度非常慢,firebase,firebase-storage,firebase-hosting,Firebase,Firebase Storage,Firebase Hosting,有人知道为什么firebase存储比firebase托管速度慢得可笑吗 结果 下载firebase主机映像的时间:16ms 从firebase存储下载相同图像的时间:2.23s(2.22s为TTFB) 从firebase存储(亚太地区)下载相同图像的时间:1.72s(1.70s为TTFB) (文件大小:22.7kb/jpeg/firebase存储已对所有人开放) 这在测试中反复出现。是否有任何方法可以将此速度提高到一个合适的时间,或者firebase存储无法用于小文件(图像/拇指) 用于比较
- 下载firebase主机映像的时间:
16ms
- 从firebase存储下载相同图像的时间:
2.23s(2.22s为TTFB)
- 从firebase存储(亚太地区)下载相同图像的时间:
1.72s(1.70s为TTFB)
- (文件大小:22.7kb/jpeg/firebase存储已对所有人开放)
- S3北校准-大约
500ms
- S3亚太地区-大约
30ms
- Cloudinary-大约
20ms
- 我住在澳大利亚
- 完全相同的文件。图像大小始终小于100kb
- 根据开发工具,减速始终在TTFB中
- 托管URL:https://.firebaseapp.com/images/thumb.jpg
- 存储URL:.appspot.com/o/thumb.jpg?alt=media&token=
gsutil defacl set public read gs://your_bucket
之后,我的所有当前和新图像都可以在storage.googleapis.com/my_project.appspot.com/img/image_name.jpg中找到
下载时间肯定更短。除了@Ziwi-answer。 我认为直接在Firebase中更改规则也是可以的
// Only a user can upload their profile picture, but anyone can view it
service firebase.storage {
match /b/<bucket>/o {
match /users/{userId}/profilePicture.png {
allow read;
allow write: if request.auth.uid == userId;
}
}
}
//只有用户可以上传他们的个人资料图片,但任何人都可以查看
服务firebase.storage{
匹配/b//o{
匹配/users/{userId}/profilePicture.png{
允许读取;
允许写入:如果request.auth.uid==userId;
}
}
}
来源是
谢谢你,迈克。最后我把fast.ly放在了我的储物桶前面。如果有一个CDN/Fastly作为付费插件来节省麻烦,那就太好了!那么,目前真的没有选择使用firebase存储来存储具有合理下载时间的照片吗?这比从我的ftp服务器上获取照片要慢10倍(每年10美元)。很难相信像firebase这样的大型服务会有这样的问题。我发现在这里,我可以设置每个照片都有一个公共链接,然后从该公共链接获取照片的速度非常快(大约50毫秒)。所以现在的问题是:有没有办法让每个上传的照片公开?现在可以使用云控制台中的GUI让每个照片公开。谢谢你给我这个提示!公开共享存储数据的文档:我们应该接受这个答案,这是我得到的最佳答案谢谢,它适用于Firebase存储,带有
gsutil acl ch-u alluser:R gs://project.appspot.com/filename.json
。加载时间已从平均550ms缩短到30ms。firebase上的存储规则是否仍然适用?