При тестировании биллинга бывает нужно списать определенный размер трафика. Из зарубежных ресурсов может быть полезным http://www.thinkbroadband.com/download.html, из российских — http://upyachka.ru/ (осторожно, трафик!). Но в первом случае появляется зависимость от полосы пропускания внешней линии, а во втором — нельзя указать размер страницы.
И здесь нам на помощь придет PHP.
Пример использования скрипта:
http://hostname/configured_size.php?min=2000&max=4000 — размер страницы в заданном диапазоне.
В случае если вам нужен точный размер, укажите одинаковое значение min и max
Исходник:
<?php header("Content-type: text/html\n\n"); if (isset($_GET["min"])) { $min=$_GET["min"]; } else { $min=1000; } if (isset($_GET["max"])) { $max=$_GET["max"]; } else { $max=1000; } $size = rand($min, $max); //echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">" echo "<html>"; echo "<head>"; echo '<title>Sample page with size '; echo "$size bytes"; echo '</title>'; echo '</head>'; echo '<body>'; $iterations = ($size - 82 - strlen($size)); // 82 is for the characters between <html>...</html> including these tags for ($i=0; $i < $iterations; $i++) { echo "1"; }; echo '</body>'; echo '</html>'; ?> |
Есть еще один способ. Можно просто создать командой группу файлов с шагом 1 Мбайт и запрашивать их по имени (которое будет однозначно определять размер):
# for (( x=1; x<501; x++ )); do fallocate -l ${x}M ${x}MB.file.txt; done |