Оптимизация под большие нагрузки

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

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
всем привет! попался мне проект на заказ, вот хочу спросить совета. Суть в том, что скрипт должен генерить в день много страниц. Допустим, по полляма в сутки. При этом одновременно может быть много запросов к серверу, и надо успевать по всем запросам доставать значения из БД и передавать как ответ. Какие подводные камни могут быть? Реально ли вообще по полляма в день обрабатывать одним сервером? Выдержит ли Mysql или мб лучше вообще без БД обойтись. Или может быть как-то в кеш записывать? :)
 
По-любому без кеширования тут не обойтись. Если грамотно сделать кеширование, то можно. Но все равно, есть еще много вопросов:
Насколько тяжелые запросы предполагаются?
На чем будет разрабатываться?
Какой сервак?
 
Получается что в среднем 6 запросов в секунду. В принципе нормально.
Но данных мало, какая бд, сколько записей, тип записей, есть ли индексы. Если запросы к базе будут постоянно разные, то кеширование тут не поможет.
В любом случае что мешает промоделировать ситуацию? Создайте бд с данными, создайте простейший скрипт и цикл. Работа на полчаса.
 
Всем спасибо за ответы!
Окончательных данных я пока не знаю. Знаю что сервак будет линуксовый, мне настраивать его не надо будет- этим будут заниматься админы сервака. Мое дело- сказать им, какой модуль пхп установить, где какие настройки подкрутить.
Насчет остального.
Почитал и понял, что в БД хранить большие статьи и большие данные нельзя. А у меня есть 500тыщ статей, и юзерам их надо показывать, в зависимости от их запроса. И есть у меня порядка 20 крупных текстовых файлов, мегабайт по 10-30 которые будут задействованы основную часть времени. Они должны быть под рукой. Вообщем предполагаю что полмилиона страниц надо хранить на жестком диске. В итоге примерно так-
Юзер запрашивает файл, мы из бд достаем ссылку на файл, а сам файл храним на жестком диске. Затем можно даже закешировать этот файл на машине юзера, который его запросил. Чтобы больше не возвращаться к этой процедуре. А те 20 файлов крупных, которые нужны постоянно, надо хранить в оперативной памяти сервака. Примерно так мне это представляется. Правильно я проектирую? Для кеширования нашел для пхп расширение APC, почитал вроде его выбрал как оптимальное. А мемкеш, и APC это вообще из разных областей?
 
Для кеширования нашел для пхп расширение APC, почитал вроде его выбрал как оптимальное. А мемкеш, и APC это вообще из разных областей?
APC позволяет ускорить исполнение скриптов за счет того что не надо каждый раз парсить php и выпонлять его. Для просмотра ссылки Войди или Зарегистрируйся

Memcached используется для кэширования данных полученных из БД в памяти. Дернули из базы запись, сохранили ее в кэше, следующий раз тянем из кэша а не из базы
 
а допустим текстовый файл в оперативную память можно поместить? предположим я считываю текстовый файл в массив функцией file(); а текстовый файл большой, и каждый раз считывать- дело долгое. а нужен он постоянно
 
В данном случае данные поместятся в файл только на период выполнения скрипта, и скорей всего будут доступны только этому скрипту.
Чтобы поместить данные в память на долгое время - не слышал о таком.
 
предположим я считываю текстовый файл в массив функцией file();

мне так кажется что если вы контент храните в файлах то о больших нагрузках можно забыть
у вас уже есть движок написан готовый или только собираетесь?
 
Ничего пока не написано, советуюсь с вами как лучше написать. А Если не хранить в файлах, то в чем хранить? В бд пишут тоже нельзя большие данные хранить. Я больше не знаю в чем еще хранят :D
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху