使用php测试硬盘写入速度示例


下面是一个使用PHP来测试硬盘写入速度的简单示例。请注意,这个示例可能不会非常精确,因为它受到PHP运行环境和文件系统缓存等多种因素的影响。但是,它可以给你一个大致的写入速度概念。


<?php

// 设置要写入文件的路径和大小(以MB为单位)
$filePath = 'test_write_speed.tmp';
$fileSizeMB = 100; // 100MB
$fileSizeBytes = $fileSizeMB * 1024 * 1024;

// 获取开始时间
$startTime = microtime(true);

// 写入文件
$handle = fopen($filePath, 'wb');
if ($handle) {
    for ($i = 0; $i < $fileSizeBytes; $i += 1024) { // 每次写入1KB
        fwrite($handle, str_repeat('x', 1024));
    }
    fclose($handle);
} else {
    echo "无法打开文件以写入。\n";
    exit;
}

// 获取结束时间
$endTime = microtime(true);

// 计算写入时间(秒)
$elapsedTime = $endTime - $startTime;

// 计算写入速度(MB/s)
$writeSpeed = ($fileSizeMB / $elapsedTime);

echo "写入速度: " . round($writeSpeed, 2) . " MB/s\n";

// 清理测试文件
unlink($filePath);

?>

这段PHP代码首先定义了要写入的文件路径、大小和每次写入的字节数(这里设置为1KB)。然后,它记录开始时间,打开文件进行写入,每次写入1KB直到达到指定的大小,之后关闭文件并记录结束时间。最后,它计算写入所花费的时间,并据此计算出写入速度(以MB/s为单位),并将结果打印出来。最后,它还会删除测试文件以清理环境。

请注意,由于文件系统缓存和其他因素的影响,这个测试可能不会非常精确,但它可以给你一个大致的写入速度范围。