我们有一个应用程序可以记录很多日志。我们登录的介质是SLC SSD驱动器,但我们开始发现该领域存在一些故障。我们可以关闭日志(我们可以),有日志级别(我们有),但是有时工程师开启日志记录来诊断故障并忘记关闭它,这会导致一段时间后发生故障的SSD。将日志写入SSD的最佳方式
查看日志记录代码,我们将日志条目保存到一个队列中,每隔5秒钟迭代一次该集合,并使用File.AppendAllText
将行写入文件。按照MSDN写入文件,然后关闭它。
什么是更好的制度来实现相同的功能,但防止(或减少)对SSD的损害?
在软件启动时打开FileStream
,在使用过程中写入流并在软件退出前关闭会更好吗?这将如何缓解磁盘级别的情况?涉及哪些流程以及如何更好地打开文件并立即关闭它。使用FileStream
'感觉'更好,但在进行更改之前,我需要更具体的理由。
也许有更好的方法,我们没有考虑。
SSD的写入时间有限。看看不同类型的磁盘技术或其他品牌的SSD。 http://www.pcworld.com/article/2043634/how-to-stretch-the-life-of-your-ssd-storage.html – Paparazzi 2014-12-01 16:10:18
由于其他原因我们使用SSD,因此我们无法更改100系统。我们已经使用我们认为是SSD最强大的品牌(成本与质量)。我正在寻找一个答案,看看.NET如何写入驱动器以及该过程的机制。 – Sparers 2014-12-01 16:13:05
每5秒写一次,每5秒写一次。我不认为将文件打开将成为一个神奇的子弹。文件流写入光盘。 MLC的标称寿命为10,000次写周期。每5秒钟只有14个小时。 – Paparazzi 2014-12-01 16:50:06