如何在负载平衡主机

时间:2016-01-28 17:11:29

标签: asp.net sql-server

我正在建立一个Asp.net网站,用户可以将文件上传到他们的用户帐户,然后在他们登录时下载。这些文件通常少于5MB,用户只能下载他们的文件已上传(即无法下载其他人的文件)。大约有10万用户,每个用户可能上传大约2或3个文件。实时网站负载均衡

我认为将这些文件作为BLOB存储在中央数据库(Sql Server)中会很好,因为......

  • 由于站点负载均衡,每个节点都可以从中央DB访问该文件。无需担心共享文件夹来存储文件

  • 我可以更轻松地确保用户只下载自己的文件。

  • 自动备份数据库包括文件BLOBS

我唯一看到的缺点就是性能,但这有多糟糕?

如果我要将这些文件存储在文件系统中,将它们存储在一个文件夹中会有任何问题吗?

最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您想要快速,请将数据存储到文件系统。在这种情况下,您不需要从sql server读取数据量。在这种情况下,您可以做两件事:

第一种方法:将所有文件存储在一个文件夹中(NTFS限制:4,294,967,295,FAT限制:268,435,437)

第二种方法:为每个用户(userid)创建一个单独的子文件夹。我希望这比第一种方法更好。

对于较新版本的SQL Server,您还可以使用FILESTREAM

知道

也很有趣
  • 你有多少用户
  • 您可以每天/小时/分钟上传多少次
  • 您可以每天/小时/分钟下载多少次
  • 您可以同时上传多少次
  • 您可以同时下载多少次
  • 您拥有的系统的大小
  • 是内部使用/外部 - 您有哪些带宽/网络负载等。