Как изменить таблицы, которые я использую, когда на моем сайте много трафика? - PullRequest
1 голос
/ 24 октября 2011

Что ж, я создал набор таблиц, которые должны выполняться с меньшим количеством объединений, но я хочу сохранить свою нормализованную базу данных.Есть ли способ переключаться между ними, когда на моем сайте много трафика?

Ответы [ 4 ]

1 голос
/ 24 октября 2011

Если это для упрощения ваших запросов, вы можете создать представление , которое, в свою очередь, может объединить некоторые объединения.

1 голос
/ 24 октября 2011

Создайте глобальное значение, которое увеличивается при каждом доступе к странице и сбрасывается в 0 с уменьшением на 1 за минуту на каждое увеличение, называемое 'pages_accessed_per_minute'.

Создайте функцию, которая принимает два аргумента, одинглобальный, упомянутый выше, и другой предел для вашего газа: throttleOn('pages_accessed_per_minute', '1000').

Если число страниц, к которым осуществляется доступ в минуту, превышает определенную точку (в данном случае 1000), поменяйте местами альтернативный phpсценарии, которые используют другие базы данных.

if throttleOn('pages_accessed_per_minute', '1000') == true){
  include_once('dbAccess1.php');
}
else{
  include_once('dbAccess2.php');
}

Я не уверен на 100%, что я правильно использую include_once.

Я также обнаружил, что на большинстве серверов есть лог-ссылки, связанные сдомашние каталоги их пользователей на общих хостах.Эти журналы можно отслеживать в режиме реального времени с помощью $tail -f (командная строка).Это лучше, чем опрос, потому что сервер может быть занят, и в этом случае лучше полагаться на перехватчики.

0 голосов
/ 24 октября 2011

В: Есть ли способ переключаться между ними? A: Конечно - просто перенаправьте на другую страницу PHP, которая выполняет другой запрос другого набора таблиц.

... однако ...

В: Как вы собираетесь синхронизировать таблицы?

В: Какой механизм доступен для оповещения о том, что «на вашем сайте много трафика»?

0 голосов
/ 24 октября 2011

Вы можете сделать это «в производстве», но имейте в виду, что это может стать критическим очень быстро!

  • Измените ваши таблицы, добавив необходимые столбцы.
  • Заполните новые столбцы (с помощью скрипта, чтобы вы могли контролировать, сколько строк затрагивается за раз, чтобы убедиться, что вы не генерируете слишком много нагрузки)
  • Измените ваши (веб-сайт) -скрипты, используя новую структуру. Лучший способ - обновить все скрипты одновременно.
  • Перезапустите ваш "скрипт-заполнитель", чтобы убедиться, что все строки действительно в новом формате
  • Удалить ненужные столбцы / таблицы
...