Инклуд большого файла

Статус
В этой теме нельзя размещать новые ответы.

rasandrey

Участник
Регистрация
2 Апр 2009
Сообщения
214
Реакции
6
Возник вопрос: у меня есть файл, весит сейчас 400Кб. Файл содержит массив из 4000 элементов. Нужно при загрузке index.php иклюдить файл для дальнейшей работы над массивом. Делаю так:
PHP:
require_once('model.php') ;

Не слишком ли будет большая нагрузка на сервер, если посещаемость планируется от 10 000 уников в день?
Нужно и можно ли как-то кешировать это дело?
 
Инклуд большого файла даст ощутимое замедление работы и нагрузку на сервер, т.к. этот файл будет каждый раз проходить синтаксический анализ, интерпретацию и компиляцию, а значит жрать память и проц.

Если массив будет нужен однократно для одного пользователя - кешировать нет смысла. А если пользователь будет пользоваться им всё время - имеет смысл кешировать в сессии. Но экономия будет только на интерпретации файла, т.к. данные сессии чаще всего хранятся так же в виде файлов на диске или в таблицах БД.

Если честно - слабо себе представляю задачу, в которой может понадобиться инклюдить в индексный файл почти полумеговый константный массив. Я бы на твоём месте задумался - может быть стоит что-то изменить в архитектуре скрипта и уменьшить объём данных или разбить их и грузить частями по мере необходимости.
 
  • Заблокирован
  • #3
Возник вопрос: у меня есть файл, весит сейчас 400Кб. Файл содержит массив из 4000 элементов. Нужно при загрузке index.php иклюдить файл для дальнейшей работы над массивом. Делаю так:
PHP:
require_once('model.php') ;

Не слишком ли будет большая нагрузка на сервер, если посещаемость планируется от 10 000 уников в день?
Нужно и можно ли как-то кешировать это дело?
10к в день - это не шутки, с шареда вас выгонят, ну а если сервер - не стоит заморчиваться.
 
кроме тормозов из-за самого размера, тормозить будет сам массив.
по большому счету, скрипту понадобится перебрать 4000 єлементов, как вы сами считаете:
Не слишком ли будет большая нагрузка на сервер, если посещаемость планируется от 10 000 уников в день?

почему вы не не хотите воспользоваться мускулом, ведь правильно составленный запрос будет работать быстрее?
 
почему вы не не хотите воспользоваться мускулом, ведь правильно составленный запрос будет работать быстрее?
Быстрее- это вряд ли. И с нагрузкой- тогда она ляжет не на пхп а на мусукл. Да и создавать мускул для одной только базы на 4к новостей- не лучшая идея.
И зависит от задачи- если нужно выбрать 10 значений из массива, точно зная каких, или нужно перебирать все значения или большую часть, но не для того чтобы найти нужные (напр перебор массива, чтобы понять какие новости за текущий день) а какая-нить работа с ними (например генерация текста из массива) - лучше использовать пхп.
Главное знать- грамотный sql запрос лучше чем неграмотное применение пхп.
Чтобы понять- грамотное\неграмотное- сгенерируйте нагрузку на скрипт и посмотрите, ляжет ли серв, и не переполнится ли память.

А о больших пхп файлах- один из методов оптимизации zend фрейворка- это копирование кода из всех файлов в один, который намного больше 400кб.
 
Этот файл - марки автомобилей. Изменяться он будет редко и для всех пользователей один. Предполагается покупка сервера. Как можно иметировать большую нагрузку для теста?
 
*** скрытое содержание ***
кодировка полетела. не открывает. На всякий случай-

Ещё есть
 
  • Нравится
Реакции: UDAV
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху