Где лучше хранить данные при посещаемости 15000 хитов в день?

evgkuz

Новичок
Где лучше хранить данные при посещаемости 15000 хитов в день?

Где лучше хранить данные при посещаемости 15000 хитов в день?

Есть сайт посещаемость 3000 хостов и 15000 хитов, на БД MySQL 4 + PHP5. В среднем на страницу приходится 2 запроса типа "SELECT". В часы пик (т.е. в обед) сайт начинает подтормаживать (долго думает прежде чем выдать страницу, иногда до 5 секунд).
Запросы примитивные без объединений, индексы проставлены в нужных полях. Собственно это вывод комментариев к статье.
У хостинг-провайдера установлено ограничение на 100 соединений.

1) Из-за чего может тормозить сайт?
2) Может стоит хранить данные в файлах?
3) Может не хватает количества соединений?
4) Или просто нужно сменить хостинг-провайдера?

P.S. Ошибок MySQL не выдаёт.
 

Alexandre

PHPПенсионер
долго думает прежде чем выдать страницу, иногда до 5 секунд
ну это не так долго ;)
1) Из-за чего может тормозить сайт?
разные причины, может нагрузка на сервер велика, помимо твоего сайта. Надо делать профайлин. Это вопрос больше к тебе.
2) Может стоит хранить данные в файлах?
все зависит от структуры данных в файлах, но БД затем и задумывалась, чтоб быстрее полачить данные.
3) Может не хватает количества соединений?
если используешь p_connect то это один вопрос, но 100 соединений - должно за глаза хватить.
4) Или просто нужно сменить хостинг-провайдера?
Это уже политический вопос, как правило его решают руководители. Если сервер слабый, или перегруженный - то возможно сменить хостинг - это лучшее решение, НО прежде необходимо:
- сделать профайлинг кода, проанализировать запросы к БД или оптимальность PHP-кода
- найти тормоза
- использовать кеширование результата или уже вых. данных
- использовать connect (p_connect быстрее, но в случае тормозов БД быстро выбирается max_connection)
 

Bermuda

Новичок
evgkuz
2) Может стоит хранить данные в файлах?
В некоторых случаях будет быстрее, однако менее удобно. Сделайте тест: выборка нужной информации из базы и из файла. В удобстве Вы потеряете, но возможно приобретете в скорости.

Alexandre
БД затем и задумывалась, чтоб быстрее полачить данные.
Да что Вы говорите?
Не быстрее, а удобнее. Удобство при разработке часто оборачивается быстротой.
 

HEm

Сетевой бобер
Alexandre
БД задумывалась не для быстроты получения данных а для стандартизации этого получения
evgkuz
а поставить свой сервер?
 

Фанат

oncle terrible
Команда форума
evgkuz
ответы на свои вопросы ты можешь получить только сам.
 

Alexandre

PHPПенсионер
Да что Вы говорите?
Не быстрее, а удобнее. Удобство при разработке часто оборачивается быстротой.
Bermuda это как сказать, закешированные в памяти данные данные и переданные по сокетному соединению на много быстрее, чем считанные из файловой системы. Хотя все это относительно, и много переменных факторов, таких как размер самих данных, размер памяти на сервере, конфигурация сервера и т.д. и т.п...
БД задумывалась не для быстроты получения данных а для стандартизации этого получения
ну вы в чем-то с Bermuda правы, все-таки БД задумывались для удобства доступа к данным, стандартизации информации, соответственно и быстрого к ним доступа.

-~{}~ 29.09.06 18:55:

ЗЫ. 15000 хитов в день - не так уж и много!
 
Сверху