问题标签 [disk-access]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
472 浏览

multithreading - 同时或顺序写入——在速度方面重要吗?

同时或顺序写操作——在速度方面重要吗?

对于多核处理器,使用多线程并行化所有文件写入操作是否有意义,只是为了提高速度?当然,所有这些写操作都是独立的。

0 投票
3 回答
22826 浏览

postgresql - varchar 字段的声明大小对 PostgreSQL 有影响吗?

从性能的角度来看有什么VARCHAR(100)比这更好的吗?VARCHAR(500)磁盘使用情况如何?

今天谈论 PostgreSQL,而不是历史上的某个数据库。

0 投票
2 回答
61 浏览

file - 获取目录中文件的属性时最小化磁盘访问

正如标题所暗示的,我正在寻找一种方法来获取目录中大量文件的属性,但不会增加每个文件的额外磁盘访问成本。

例如,如果我在集合中获取 FileInfo 对象的 Name 属性,则没有额外的磁盘访问。但是,如果我得到 LastWriteTimeUtc,则会进行额外的磁盘访问。

我的代码:

有谁知道我可以在一次往返中获取此信息的方法?我希望 DirectoryInfo.GetFiles() 能做到这一点,但没有运气。

提前致谢。

0 投票
1 回答
508 浏览

sql-server - 是否有工具可以查看 Team Foundation Server DB 上的磁盘使用情况

我们在一台机器上安装了 TFS,该机器的支持寿命即将结束,我们计划在几个月内迁移到一台新机器。然而,与此同时,我们的磁盘空间变得非常低,并且(无论出于何种原因)我们无法添加更多磁盘空间。这让我想知道是否有一个工具可以向我们展示数据库是如何使用磁盘空间的,这可能会帮助我们识别一些我们可以删除/销毁的东西,以暂时给我们更多的可用空间。

0 投票
1 回答
5853 浏览

linux - 在 Linux 中检测配额的块大小

Linux 中对磁盘配额的限制以块为单位。但是,我发现没有可靠的方法来确定块大小。我发现的教程将块大小称为 512 字节,有时也称为 1024 字节。

我在阅读LinuxForum.org 上的一篇文章时对块大小的真正含义感到困惑。所以我试图在配额的背景下找到这个含义。

我在 NixCraft上找到了“为磁盘配额确定硬盘文件系统上的块大小”提示,提示了以下命令:

或者

但在我的系统上,这些命令返回 4096,当我检查同一系统上的实际配额块大小时,我得到的块大小为 1024 字节。

是否有一种可编写脚本的方法来确定设备上的配额块大小,而不是创建已知大小的文件并检查它的配额使用情况?

0 投票
4 回答
655 浏览

linux - 是否有可以监控分区使用情况的 shell 脚本?

当我过去使用 cPanel 时,它会在任何分区快满时向我发送一封电子邮件。是否有一个脚本可以监视我可以放入 cronjob 的 df 输出?

谢谢

0 投票
3 回答
197 浏览

mysql - 最好使用:mysql 列或文件检查来检测图像?

我总是有一个难题:对于记录,我可以使用列图像(tinyint),如果该记录有图像,则为真,如果没有,则为假。

我也不能将该信息放入数据库中,并且在我的代码中我“窥探”磁盘文件系统检查图像是否存在。

当然,两者都给出相同的结果。在数据库中意味着将图像状态与磁盘上的真实图像分开维护,这意味着更难编程并且更容易出错(磁盘图像不再存在,在数据库中,列图像上的记录是真实的)。

所以我通常使用磁盘检查。但我突然想到,这可能会对磁盘访问造成严重影响。我知道数据库检查必须更快,无论如何我必须从数据库中取出记录。但是使用文件系统寻找图像是否像我遇到的那样糟糕?

0 投票
1 回答
95 浏览

latex - 在 MediaWiki 中,Latex 渲染需要太多磁盘空间?

不完全确定 Stackoverflow 是问这个问题的最佳场所,但由于我看到许多其他 MediaWiki 问题已经发布,我想我的问题是合适的。

我的理解是,MediaWiki 除了存储所有图像的所有修订的副本外,还将存储所有渲染的 LaTeX 的所有修订。这意味着当我正在编辑一个页面并单击“预览”来查看我的更改时,嵌入式 LaTeX 的每次更改都会生成它自己的单独文件,即使我只保存了一次页面!

这是来自阅读 MediaWiki 手册:TeX 临时文件

我的问题是,人们如何在不产生大量文件导致大量磁盘空间损失的情况下托管一个支持 LaTex 的合理大小的 MediaWiki?

上面的链接提出了以下不优雅的解决方案:

可以手动删除图像,因为 wiki 可以重新生成它们,但如果你这样做,你也需要修复数据库:

• 清除数学表中受影响的条目,否则 wiki 会认为它已经渲染了这些位

• 如果使用文件缓存,请执行以下操作之一以使缓存页面无效,或者匿名用户的访问不会触发图像的重新生成:

•• 从缓存中删除所有(受影响的)页面(考虑 grep)

•• 更新 cur_touched 字段以显示受影响条目的时间(检查 cur_text 中的“”)

•• 更新LocalSettings 中的全局$wgCacheEpoch 时间戳,强制重新生成所有缓存页面,而无需担心删除任何内容。

第三个改变建议$wgCacheEpoch似乎最直接,但也最不优雅。

如果没有一个优雅的解决方案,有人能澄清我到底是如何做到这一点的吗?维护目录中没有一个php脚本可以做到这一点吗?

0 投票
1 回答
234 浏览

.net - .net 库封装类的缓存存储

我正在编写一个包含许多高级实用程序类的 dll,其他开发人员将在他们的应用程序中使用和使用。

目前我正在研究一个类的实现,它必须利用大字符串的本地缓存,否则它会很慢。

是否有一个统一的缓存存储位置,我可以将我的superclass.cache文件放入(从我的将进入 dll 的代码中),它可以在任何 .net 应用程序(asp.net 也)中工作?

例如,我见过为 ASP.Net 编写库的人只是AppData为此目的使用文件夹。但是,如果我的库在 WPF 应用程序中被引用,则不会有 AppData 文件夹。更糟糕的是,它可能在不允许从代码写入磁盘的环境中运行。

这给我们带来了一个问题——要求用户启用缓存,如果是的——唯一的(最好的)选项在哪里?

更新:现在当我想到 Windows Phone 与它的隔离存储一起使用时,我最好只提供一个ICacher接口,让人们实现它以使其具有通用性。

0 投票
2 回答
385 浏览

c - 在 C 中写入文件时减少磁盘访问次数

我正在编写一个多线程应用程序,到目前为止我有这个想法。我有一个FILE*[n]wheren是在运行时确定的数字。我打开所有 n 个文件进行读取,然后多个线程可以访问读取它。每个文件数据的计算是等价的,即如果假设串行执行,那么每个文件将同时保留在内存中。

每个文件可以任意大,所以不应该假设它们可以加载到内存中。

现在在这种情况下,我想减少发生的磁盘 IO 的数量。如果有人可以为这种情况建议任何共享内存模型,那就太好了(我不知道我是否正在使用一个,因为我对事物的实现方式知之甚少)。我不确定我应该如何实现这一点。换句话说,我只想知道实现这种场景的最有效模型是什么。我正在使用C.

编辑:更详细的场景。

实际问题是我对 n 个文件中包含的数据有 n 个布隆过滤器,一旦文件中的所有元素都插入到相应的布隆过滤器中,我就需要进行成员资格测试。由于成员资格测试是数据文件的只读过程,因此我可以从多个线程读取文件,并且可以轻松并行化此问题。现在有数据的文件数量相当大(大约 20k 并注意文件数量等于布隆过滤器的数量)所以我选择生成一个线程来测试布隆过滤器,即每个布隆过滤器都有自己的线程,并且将一个一个地读取所有其他文件,并根据布隆过滤器测试数据的成员资格。在这种情况下,我想尽量减少磁盘 IO。