临时驱动器上存储什么?(Windows EC2 + SQL)

临时驱动器上存储什么?(Windows EC2 + SQL)

我有一台 EBS 支持的 Windows EC2 服务器,带有一个额外的临时驱动器(又称“实例存储”),速度非常快(SSD)。该实例运行 IIS 网站 + SQL Server

我可以将什么移动到实例存储来加快速度?

目前我已经搬家了:

  • SQL 服务器的“TempDB”数据库
  • 非关键(临时)备份
  • 交换文件

我还能将什么移动到临时驱动器以加快速度?Windows TEMP 文件夹?IIS 日志?我很喜欢这些想法。

答案1

简单来说,当实例终止并且丢失临时驱动器上的数据时,存储您准备丢失的所有内容。

正如您已经指出的那样,一个很好的用例是临时文件。

我怀疑您的大多数数据库和软件相关文件都需要存储在 EBS 支持的卷上。

您可以通过配置更高的 IOPS 来提高 EBS 支持卷的性能。

您还应该分析您的应用程序,找出它在哪里以及如何变慢。更好的 CPU 和更多的 RAM 可能会对您有所帮助。

最后,您可以增强应用程序,例如使用数据库索引或更高效的查询。静态文件可以通过 CloudFront (CDN) 为您的 Web 服务器提供服务。

答案2

TempDb 和 Swap/Page 文件是很好的选择。

我不会将主 IIS 或应用程序日志放在实例存储中。在出现一些需要强制停止服务器的问题后,可能需要它们。但是,如果您不介意丢失它们,那就去做吧。不过,我已经将应用程序日志放在实例存储中以进行临时检查。但它们仅通过标志启用,几乎从未使用过。

ASP.NET 临时文件。

我还用它来存储 Web 应用程序的临时上传文件并进行一些快速预处理,然后再将它们移动到更永久的位置。如果出现任何故障,客户端可以尝试重新上传。显然,更复杂的场景/预处理可能需要不同的架构。

如果使用具有实例存储的服务器作为构建服务器,则临时构建文件也可能存在。

最后,我还没有尝试过,如果你有相对较小或只读的数据库,并且这些数据库变化不大,并且可以从夜间备份中安全地重建,那么可以考虑将其放在那里。但你可能需要好的启动脚本。

相关内容