Как узнать сколько памяти нужно будет на выполнение скрипта?

Работаю с либой PHPExcel, должна записать очень много данных, пол миллиона (или может больше). На время скрипта выделил memory limit 3 ГБ, скрипт 3 часа был запущен, по итогу сказал:
PHP Fatal error: Allowed memory size of 3221225472 bytes exhausted (tried to allocate 32 bytes)

Как мне понять, сколько памяти я должен отдать этому скрипту?
  • Вопрос задан
  • 349 просмотров
Пригласить эксперта
Ответы на вопрос 3
Запускайте скрипт по ajax событию, частями.
Пусть работает так:
При заходе на страницу кнопка "старт"
после ее нажатия скрипт стартует, отправляя ajax запрос, после каждой 1000 строк например, возвращайте результат ему снова, а он пусть снова запускает, только уже со строки 1001
Ответ написан
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
После каждой тысячи строк сохраняй кол-во строк, прошедшее время и значения функций memory_get_usage и memory_get_peak_usage. А потом по этим данным строй графики - сможешь по ним оценить и примерный объём памяти, и примерное же время работы...

P.S. Намного быстрее и проще сохранять данные в CSV.
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Перепишите на https://github.com/box/spout
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы