我正在为远程hdfs构建一个local disk cache,当从hdfs读取时,系统将在本地磁盘上缓存文件。我认为这会增加吞吐量。
如果从PageCache读取数据,它确实会有很大的改善;但是,如果清除PageCache,则磁盘IO的性能在不同的测试条件下是不稳定的。
具体来说,我通过数据库测试了Parquet文件(每个文件100 To )。在同一个数据集中,当我扫描select * from table (即扫描所有列)时,我看到本地IO率是hdfs的五倍;但是当I select result from table (即扫描一列)时,我发现本地IO率是本地的两倍。
在这个测试中,除了文件系
我现在正在做负载测试。在大约900个请求之后,我得到了这个错误:
[ 03.08.10 11:49:00.465] [Store org.hibernate.cache.StandardQueryCache Spool Thread] ERROR net.sf.ehcache.store.DiskStore - org.hibernate.cache.StandardQueryCacheCache: Failed to write element to disk 'sql: select hotelfeatu0_.name as col_0_0_ from feature hotel
最近我一直在读关于磁盘的书,这使我产生了三个不同的疑问。我不能把它们联系在一起。我混淆了三个不同的术语:block size、IO和Performance。
当我在斜杠读到有关超级块的文章时,我看到了这句话。
如果您的文件系统有更大的块大小,则将执行更少的IOPS。
从这里我了解到,如果我想读取1024 KB的数据,块大小为4KB/4096B的磁盘(例如A)比块大小为64 KB的磁盘(例如B)需要更多的IO。
现在我的问题是磁盘A需要多少IO?
据我所知,读取这些数据所需的IO请求的数量也将取决于每个IO请求的大小。
So who is deciding what is the size of