Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
11 / 11 / 3
Регистрация: 19.04.2014
Сообщений: 139

Есть ли смысл кэшировать такие страницы

25.08.2014, 10:56. Показов 774. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Используя функцию glob в цикле открываются 50-70 папок и в каждой из них читается 1-2 файла, содержимое которых заносится в массив, а затем содержимое массива в цикле выводится на странице.

Есть ли смысл делать кэширование таких страниц, если их будет 1тыс, 5тыс., 10тыс... при посещаемости сайта от 5тыс. до 20тыс. (+ каждый посетитель смотрит от 5 до 15 страниц). Насколько большую нагрузку на сервер это даёт?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.08.2014, 10:56
Ответы с готовыми решениями:

А есть ли смысл прогонять внутренние страницы по каталогам?
Как лучше - одно длинное описание с кучей ключей и ссылка на главную . Или же прогнать несколько внутренних со своими ключевиками?

Есть ли смысл помечать функции как inline, если их прототип уже есть в .h файле?
Есть ли смысл помечать функции как inline, если их прототип уже есть в .h файле? Функции в одну строчку, сразу в ретарне вычисляет...

Бывают ли такие обстоятельства, когда имеет смысл сделать текущий приоритет ниже базового?
В Виндовс текущий приоритет всегда выше базового приоритета или равен ему. Бывают ли такие обстоятельства, когда имеет смысл сделать...

13
65 / 64 / 33
Регистрация: 25.02.2014
Сообщений: 229
26.08.2014, 07:18
есть
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
26.08.2014, 15:04
А взять и померить не судьба? Опыт - единственное что даст вам ответ. Посещаемость сайта 20 тыс по 5 страниц - 100 тыс просмотров. А на каком железе? На вашем это может быть много, а на моём - статистическая погрешность. Нет смысла об этом спрашивать, есть смысл взять - и померять, и посмотреть есть ли выгода, и стоит ли эта выгода времени потраченного
0
11 / 11 / 3
Регистрация: 19.04.2014
Сообщений: 139
26.08.2014, 19:06  [ТС]
Цитата Сообщение от SV Посмотреть сообщение
есть смысл взять - и померять
А как? Можно это сделать функциями php? Если да, то какими?
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
26.08.2014, 19:30
Цитата Сообщение от Marinka92 Посмотреть сообщение
А как? Можно это сделать функциями php? Если да, то какими?
Для начала - можно просто замерить время выполнения скрипта
С помощью microtime() можно получить время с большой точностью. Прогнать генерацию страницы в цикле например 1000 раз для разных страниц и посмотреть сколько это заняло по времени, поделить на 1000 - узнаете сколько в среднем времени это занимает для одной страницы.

Если выяснится что одна страница таким образом генерится скажем за 10 миллисекунд

Посчитаем нагрузку
У вас 20 тысяч юзеров, по 5 страниц - 100 тысяч страниц в сутки. Нагрузка не равномерна, в дневные часы больше, ночью меньше, для верности примем что все 100 тысяч помещаются не в 24 часа, а скажем в 16 часов.
Итого 6250 просмотров в час. В часе 3600 секунду, получаем 1.7 запроса в секунду, ну пусть будет 2.

Т.е. нам нужно что бы наша страница генерилась максимум пол секунды, и это оптимистичная оценка, учитывая другие факторы - нужно еще быстрее.
А теперь смотрим сколько в среднем ваша страница генерится. Если она генерится 20 миллисекунд (а предел у нас 500 - пол секунды) - то как бы и пофиг. А если 300 - то имеет смысл кешировать.

Конечно в реальности всё намного сложнее, поэтому такие оценки нужно учитывать на уровне порядков. Т.е. реальные "пол секунды на запрос" это недостижимый максимум, ориентироваться нужно на более жетские случаи, скажем - не более 100 миллисекунд. Во первых там будут другие факторы, во вторых нужно что бы оставался некий запас прочности. Но для грубой первичной оценки вполне соёдет, а то выяснится что у вас страница за 3 миллисекунды генерится в среднем и можно не париться
1
11 / 11 / 3
Регистрация: 19.04.2014
Сообщений: 139
26.08.2014, 19:47  [ТС]
SV, я правильно вас поняла?

время:

PHP
1
2
3
$start = microtime(true); 
// тело страницы
echo 'Время: '.(microtime(true) - $start).' сек.';
память (есть смысл делать?):

PHP
1
2
3
4
5
6
7
$start_memory_usage = memory_get_usage();
 
// тело страницы
 
$end_memory_usage = memory_get_usage();
 
echo 'Память: '.$end_memory_usage-$start_memory_usage.' байт';
p.s. вот еще подумала, что может страницу сразу всю includ'ом вставлять...
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
26.08.2014, 22:20
Все верно. Или внутри цикл сделайте, или запустите тыщу раз - и посмотрите среднее.

Память? А кто то сказал что у вас с этим проблема? решайте свои задачи, и не усложняйте пока это не потребуется.
0
11 / 11 / 3
Регистрация: 19.04.2014
Сообщений: 139
27.08.2014, 00:25  [ТС]
Просто не хочется чтобы хостер потом заявил что сайт потребляет много ресурсов и я потом не бегала как обезьянка в мультике, пытаясь решить вопрос с кэшированием страниц для снятия нагрузки и т.д.

Добавлено через 31 минуту
Проверила. В среднем на генерацию одной страницы уходит 0.5 - 0.7 сек. (это с открытием 70 папок и считыванием в них 70 файлов). Но опять же как вы SV пишите, это на моей старенькой машинке, а у хостера "железо" побыстрее все-таки... Буду надеяться что никаких проблем не возникнет. Тем более что с кэшированием совсем ничего хорошего у меня пока не получилось

Добавлено через 57 минут
Попробовала с ob_start() кэшировать всю страницу... На генерацию страницы уходит 0.02-0.04 сек. Если бы не динамические блоки у меня на странице (которые нельзя кэшировать) то у кэширования очень явные плюсы в скорости!
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
27.08.2014, 02:40
У вас там нагрузка в 2 запроса секунду, о чем вы. У вас что, процесс по гигабайту памяти будет жрать?
Копеечный хостинг в облаке на линоде или амазоне даст вам несколько гигов памяти за какие то двадцать баксов.
Расслабьтесь, это не та нагрузка где нужно про память думать. Будет у вас 200 запросов в секунду - тогда и подумаете

Добавлено через 1 минуту
В кешировании всегда есть смысл, вопрос только эффективности. В вашем случае эффективность весьма хорошая, в 30 раз почти.
0
11 / 11 / 3
Регистрация: 19.04.2014
Сообщений: 139
27.08.2014, 12:40  [ТС]
SV, спасибо! Пошла "страдать" с кэшированием (так, для общего развития знаний)...
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
27.08.2014, 15:06
Цитата Сообщение от Marinka92 Посмотреть сообщение
Пошла "страдать" с кэшированием (так, для общего развития знаний)...
Да чего там страдать - зафигачить в какой нибудь redis и всего делов, пару строчек будет добавлено в итоге
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
27.08.2014, 21:00
Цитата Сообщение от semenych97 Посмотреть сообщение
https://developers.google.com/speed/...2F&tab=desktop
не, не в тему
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
28.08.2014, 15:05
Цитата Сообщение от semenych97 Посмотреть сообщение
Предложенный тобою вариант проверит скорость загрузки страницы на конкретной машине, а инструмент для разработчиков от Гугла покажет реальную скорость и укажет на все твои недостатки.
Какие он недостатки покажет если мы говорим о скорости серверного кода?
Тут речь совсем о другом идёт, зря споришь.

Добавлено через 24 минуты
PS
Цитата Сообщение от semenych97 Посмотреть сообщение
скорость загрузки страницы на конкретной машине
о скорости загрузки речь даже не шла, речь о скорости генерации
0
11 / 11 / 3
Регистрация: 19.04.2014
Сообщений: 139
29.08.2014, 12:49  [ТС]
SV и semenych97, спасибо! Опробую все предложенные методы когда загружу сайт на сервер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2014, 12:49
Помогаю со студенческими работами здесь

Есть ли такие, у кого есть свои идеи, касающиеся защиты от вирусов?
Есть ли тут такие, у кого есть свои идеи, касающиеся защиты от вирусов?

Есть ли такие сайты на которых есть бесплатные хакерские программы?
Я знаю что есть но не могу найти нормальны все те что я нахожу то платные то не рабочие а то с вирусом...

Вывести различные буквы трех предложений (то есть такие, какие есть только в одном из них)
2)Даны три строки. Вывести различные буквы трех предложений (то есть такие, какие есть только в одном из них).

Есть ли тут такие, у кого есть свои идеи ,касающиеся компьютерной безопасности,например, по защите от вирусов?
Есть ли тут такие, у кого есть свои идеи ,касающиеся компьютерной безопасности,например, по защите от вирусов?

Есть "база Excel" есть ли смысл переносить в нормальную базу?
Добрый день! существует дилемма! есть файл который формируется очень давно и имеет очень большую важность для нашего отдела да и для всего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru