Производительность запросов к базе данных при использовании общих и выделенных серверов хостинга

Я хотел бы знать, сколько запросов к базе данных на просмотр страницы (то есть каждая страница, которую просматривает пользователь, будет запускать несколько запросов на получение данных из базы данных) должно быть сделано, чтобы иметь "оптимальное " производительность, когда я использую общие или выделенные серверы хостинга, аппаратное обеспечение которых предоставляется чаще всего (например, те, которые предлагают HostMonster или Bluehost). В обоих случаях я хотел бы знать, что когда

  • Я использую MySQL или другую систему баз данных
  • Размер базы данных 1, 10, 100, 1000 Мегабайт
  • Я не использую или использую оптимизацию кеша
  • Пользователи просматривают страницы 10, 100, 1000, 10000 в секунду

В двух словах, при каких условиях (учитывая вышеперечисленные случаи) сервер начнет тормозить, что отрицательно скажется на пользовательском опыте? Я ценю некоторую статистику...

P.S.: В настоящее время я использую Ruby on Rails 3, поэтому увеличить запросы "легко"!


person user502052    schedule 21.03.2011    source источник


Ответы (1)


У меня были приложения Facebook, размещенные на общем хостинге, который обрабатывал около миллиона страниц в месяц без особых проблем. Обычно я делал 5-8 запросов на запрос страницы. Обычно проблема не в количестве запросов, а в том, сколько времени занимает каждый запрос. У вас может быть небольшой набор данных, который плохо проиндексирован, и у вас начнутся проблемы. Хостинг-провайдер обычно убивает ваш запрос через определенный промежуток времени.

Если вы по какой-либо причине вызываете всплеск загрузки ЦП на сервере, они могут начать убивать процессы на вас. Обычно это проблема.

person Brent Baisley    schedule 21.03.2011
comment
Что вы имеете в виду под плохо индексируемым? - person user502052; 22.03.2011
comment
Если вы соедините 2 таблицы даже с несколькими тысячами записей, а столбец соединения не проиндексирован, это займет некоторое время. Это плохо индексируется. У вас не должно быть запросов, которые занимают больше 5 секунд, чтобы быть в безопасности. - person Brent Baisley; 22.03.2011