Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проблема с Базой Данных


danita

Recommended Posts

Скорей всего на сервере mysql стоит ограничение на максимальное количество запросов для одного подключение или что-то похожее. Вы случайно не мой драйвер mysql_cached используете? В нем для коннекта к mysql используется функция mysql_pconnect для ускорения подключения. Она использует уже открытые соединения если такие есть. Т.е. отключений от mysql сервера в таком варианте может не происходить достаточно долго. Соответственно лимит, на который идет ругань надо отключать, т.к. в таком случае он не имеет смысла.

Надіслати
Поділитися на інших сайтах


Скорей всего на сервере mysql стоит ограничение на максимальное количество запросов для одного подключение или что-то похожее. Вы случайно не мой драйвер mysql_cached используете? В нем для коннекта к mysql используется функция mysql_pconnect для ускорения подключения. Она использует уже открытые соединения если такие есть. Т.е. отключений от mysql сервера в таком варианте может не происходить достаточно долго. Соответственно лимит, на который идет ругань надо отключать, т.к. в таком случае он не имеет смысла.

Драйвер mysql_cached не использую. Обращалась к хостеру, он ответил: У вас превышение лимита запросов к базе за час. Или оптимизируйте сайт, или меняйте тариф на больший. Вы должны знать, как сократить количество запросов к базе.

Может Вы знаете как сократить количество запросов к базе?

Надіслати
Поділитися на інших сайтах


Кстати, в таком случае именно драйвер mysql_cached вам может помочь. Он кэширует запросы SQL и, соответственно, при этом не обращается к БД.

Вот ТУТ его можно скачать и почитать как его установить.

Надіслати
Поділитися на інших сайтах


UncleAndy, а можно поподробнее объяснить назначение драйвера, с точки зрения практического применения? Я так понимаю, он уменьшает нагрузку на сервер? Это как-то увеличивает быстродействие? На сколько? Как он себя поведёт, если одновременно будет, например, 100 посетителей? Какие в нём минусы?

ЗЫ. У меня свой VPS-сервер, поэтому проблемы с какими-то ограничениями нет..

Надіслати
Поділитися на інших сайтах


Драйвер достаточно простой. Если он видит что запрос начинается с "SELECT", он формирует ключь (md4hex) и смотрит наличие данного запроса в кэше. Если он в кэше есть, тогда берется значение из кэша. Если в кэше значения нет - делается запрос к БД и результат кроме выдачи наружу еще записывается в кэшь. Время в течении которого кэшь действует, регулируется в файле config.php строкой

define('DB_CACHED_EXPIRE', 120);

С точки зрения быстродействия выгодность его применения очевидна. На той конфигурации, на которой я тестировал, использование кэширования SQL запросо (совместно с кэшем в memcached) увеличивал частоту запросов при тестировании примерно с 15-18 до 28-30 запросов в секунду. При использовании файлового кэша выигрыш возможен при большой БД товаров.

При его использовании следует учитывать следующее:

- пока в админке нет модуля который может сбрасывать этот кэшь (есть в планах);

- крайне не рекомендую его использовать в админской части - он предназначен не для этого;

- если используется кэширование, изменение настроек из админки иногда могут стать видны юзерам чуть позже когда кэшь обновится. Поэтому я не рекомендую использовать большие значения для времени актуальности данного кэша. Конкретные значения можно подбирать опытным путем.

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

Хочу отметить, что, когда я столкнулся с высокой нагрузкой на предыдущих своих проектах (до 5 млн кликов в сутки), кэширование с использованием memcached меня сильно выручило.

  • +1 1
Надіслати
Поділитися на інших сайтах


Кстати, в таком случае именно драйвер mysql_cached вам может помочь. Он кэширует запросы SQL и, соответственно, при этом не обращается к БД.

Вот ТУТ его можно скачать и почитать как его установить.

Спасибо! Попробую.

Все равно наверное у меня неудачный хостинг. Сайт долго грузиться стал. Выдает часто ошибку: 504 Gateway Time-out - nginx/0.7.67

Может кто-нибудь посоветует быстрый качественный хостинг?

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Тоже столкнулся с превышением запросов к БД. Толком не пойму что делать.

Какие еще есть варианты, для сокращения запросов, не считая предложенного вами драйвера? Спасибо.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.