0

我有从窗口应用程序上传 1000 张照片的要求。

我遵循的逻辑是..首先在本地框中调整照片大小,然后上传。

我尝试过在 dotnet 中使用 FTP 上传和使用 Web 服务的 Http 上传。

但我得到的最佳解决方案是……上传 1000 张照片需要 100 分钟。即1分钟上传10张照片。

任何人都可以建议还有什么可以尝试提高这里的性能。

让我知道是否需要更多详细信息..

4

4 回答 4

4

除了所需的带宽外,一次上传一个文件还有开销。您可以尝试将它们全部压缩到一个文件中(即使对于许多图像格式,大小节省不会很重要)并以这种方式上传,以避免逐个文件的开销。甚至将它们批量化,比如将 50 或 100 张照片打包成一个 zip 文件。

于 2012-05-08T09:51:52.753 回答
0

首先重新调整照片大小并批量上传照片。没有人可以增加带宽。您可以使用 H.264 图像压缩技术来确保不同浏览器的可靠性和一致性。

用于图像压缩的 H.264

如何在 c# Sample1 中实现 H.264

如何在 C# 示例 2 中实现 H.264

于 2012-05-08T09:56:40.957 回答
0

我一直致力于实施一种解决方案,以在通过 WAN 移动大文件时最大限度地提高传输速度。考虑到通过 WAN 的速度的限制因素不是带宽,而是延迟和 TCP 窗口大小。也许这是您遇到的问题?:请参阅此处的说明

并行使用 FTP 传输应该可以提高您的性能,并且您不需要手动实施解决方案。您的 FTP 是否支持通过多个连接发送文件?

我使用异步套接字池和自定义协议开发了自己的解决方案。与 FTP 相比,速度提高了很多,但这并不是一个微不足道的发展......

于 2012-05-08T10:03:10.453 回答
0

我首先要确保两个操作都是异步执行的,并在两者之间使用某种消息传递。因此,在处理图像时,它们会被添加到消息队列中以供上传。一旦它们被上传,它们就会从队列中移除。这样,如果出现问题,您就不必再次重新加载所有这些。这也是我在进行批量上传时遇到的问题。

于 2012-05-08T10:07:15.380 回答