[
https://issues.apache.org/jira/browse/KAFKA-1646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14179731#comment-14179731
]
Jakob Homan edited comment on KAFKA-1646 at 2/4/15 8:36 PM:
------------------------------------------------------------
Hey, Jay, sorry for late. I have done a test and find there is no pause when
rolling new log segment. The time for creating an 1G file and 1K file is almost
identical: all about 1ms.
Here is the test code which creating 10 files of 1G:
{code}
public static void main(String[] args) throws Exception {
String filePre = "d:\\temp\\file";
long startTime, elapsedTime;
startTime = System.currentTimeMillis();
try {
long initFileSize = 1024000000l;
for (int i = 0; i < 10; i++) {
RandomAccessFile randomAccessFile = new
RandomAccessFile(filePre + i, "rw");
randomAccessFile.setLength(initFileSize);
randomAccessFile.getChannel();
}
elapsedTime = System.currentTimeMillis() - startTime;
System.out.format("elapsedTime: %2d ms", elapsedTime);
} catch (Exception exception) { }
}
{code}
The result is: elapsedTime: 14 ms
was (Author: xueqiang):
Hey, Jay, sorry for late. I have done a test and find there is no pause when
rolling new log segment. The time for creating an 1G file and 1K file is almost
identical: all about 1ms.
Here is the test code which creating 10 files of 1G:
public static void main(String[] args) throws Exception {
String filePre = "d:\\temp\\file";
long startTime, elapsedTime;
startTime = System.currentTimeMillis();
try {
long initFileSize = 1024000000l;
for (int i = 0; i < 10; i++) {
RandomAccessFile randomAccessFile = new
RandomAccessFile(filePre + i, "rw");
randomAccessFile.setLength(initFileSize);
randomAccessFile.getChannel();
}
elapsedTime = System.currentTimeMillis() - startTime;
System.out.format("elapsedTime: %2d ms", elapsedTime);
} catch (Exception exception) { }
}
The result is: elapsedTime: 14 ms
> Improve consumer read performance for Windows
> ---------------------------------------------
>
> Key: KAFKA-1646
> URL: https://issues.apache.org/jira/browse/KAFKA-1646
> Project: Kafka
> Issue Type: Improvement
> Components: log
> Affects Versions: 0.8.1.1
> Environment: Windows
> Reporter: xueqiang wang
> Assignee: xueqiang wang
> Labels: newbie, patch
> Attachments: Improve consumer read performance for Windows.patch,
> KAFKA-1646-truncate-off-trailing-zeros-on-broker-restart-if-bro.patch,
> KAFKA-1646_20141216_163008.patch
>
>
> This patch is for Window platform only. In Windows platform, if there are
> more than one replicas writing to disk, the segment log files will not be
> consistent in disk and then consumer reading performance will be dropped down
> greatly. This fix allocates more disk spaces when rolling a new segment, and
> then it will improve the consumer reading performance in NTFS file system.
> This patch doesn't affect file allocation of other filesystems, for it only
> adds statements like 'if(Os.iswindow)' or adds methods used on Windows.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)