Этот скрипт PHP добавляет строки в мой текстовый файл (журнал):
file_put_contents($filename, $log .PHP_EOL, FILE_APPEND | LOCK_EX);
Я ограничиваю файлы журналов, чтобы оставаться в пределах 100 МБ, после чего будет создан новый файл; таким образом, я ожидаю aprox. 144 байта на строку и около 750000 строк на файл.
Мне нужно регистрировать действия, и мне нужно их быстро записывать. Кто-нибудь знает, будет file_put_contents
производительность file_put_contents
постепенно file_put_contents
с такими большими файлами?
Возможно, они не большие по размеру, но, конечно, большие по количеству строк.
—- Обновить: —-
На основе предложения Cully Larson здесь приведены результаты того, сколько времени потребовалось file_put_contents, чтобы записать то же самое $ string в текстовый файл. Я запускаю WAMP-сервер для Windows.
Line 000001 150bytes --> 0.00046801567077637 seconds Line 000002 150bytes --> 0.00022101402282715 seconds Line 000003 150bytes --> 0.00019407272338867 seconds ... Line 000010 150bytes --> 0.00016212463378906 seconds ... Line 000100 150bytes --> 0.00015997886657715 seconds ... Line 001000 150bytes --> 0.00015687942504883 seconds ... Line 010000 150bytes --> 0.00016403198242188 seconds ... Line 100000 150bytes --> 0.00016617774963379 seconds ... Line 250000 150bytes --> 0.0001678466796875 seconds ... Line 500000 150bytes --> 0.00016283988952637 seconds ... Line 750000 150bytes --> 0.00020289421081543 seconds EOF!
Надеюсь, эта информация поможет кому-то еще.
возможно, они не большие по размеру, но, безусловно, большие в нет. линий
не важно. Вы делаете append, а не read-write.