我的服务处理了很多文件
1)从某个地方阅读
2)写入磁盘
3)存储文件,不删除
4)获取文件的web请求
5)从磁盘读取
6)将内容写入web响应
第一次它工作得很好,但现在有4000个文件(27 is ),由于文件数量太多,文件系统出现了问题。
我想将所有文件写入一个文件,然后从该文件中读取它们。有没有它或库的最佳实践?
欢迎提出任何建议!
附注:
1)服务现在可以在asp.core 2.0 + linux上运行
2)现在的主要问题是内存泄漏(有很多文件描述符?)和文件系统最大描述符数
3)服务创建长目录层次结构(7级),因此有6,000,000个文件夹
发布于 2019-03-13 01:42:45
你不能使用一个文件,你会有线程/性能问题。
当我这样做时,我会创建一个临时文件,并将其写入其中。然后读出与你相似的内容。然后删除它。
try
{
string filename = System.IO.Path.GetTempFileName() + "_" + bidScenarioId.ToString();
System.IO.File.WriteAllBytes(filename, bytes);
…
}
finally
{
System.IO.File.Delete(filename);
}https://stackoverflow.com/questions/55127524
复制相似问题