Пропускная способность базы данных намного выше по сравнению с пропускной способностью сервера. Нормальный? - PullRequest
1 голос
/ 27 марта 2009

Некоторое время назад мы переносили наш достаточно популярный форум на новый выделенный сервер (с тем же хостом), и мы заметили что-то странное. Сначала мы использовали новый сервер для размещения только базы данных, так как это было самой большой проблемой. Затем мы перенесли файлы форума и изменили днс для домена.

Когда мы оглядываемся на используемую пропускную способность, мы видим это для байтов, отправленных сервером:

database use: 100k/sec  
whole forum use: 25k/sec  

Примечание. Полученные сервером байты оставались очень низкими.

Так нормально ли для базы данных форума использовать сетевой трафик в 4 раза больше, чем сервер фактически отправляет обратно пользователю? Для меня это звучит очень неэффективно, например, запрашивать гораздо больше, чем нужно из базы данных, но это последняя версия vBulletin, о которой мы здесь говорим.

Ответы [ 4 ]

3 голосов
/ 27 марта 2009

vBulletin, как известно, использует невероятный объем трафика между веб-сервером и базой данных. Они предлагают вам использовать перекрестный Ethernet-кабель Cat6 на выделенном сетевом адаптере Gbit между вашими серверами, потому что если это так.

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

Так что я бы сказал, что это нормально для vBulletin, но ненормально для большинства других программных решений.

Если вы гуглите по этой проблеме, я думаю, вы найдете много людей с такой же проблемой.

пример: http://www.vbulletin.org/forum/archive/index.php/t-111191.html

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

1 голос
/ 27 марта 2009

Похоже на сценарий, в котором MySQL рассматривается как плоский файл, а логика данных в PHP, а не в SQL.

0 голосов
/ 27 марта 2009

Может быть, база данных вернет UTF-16, а вы покажете страницы UTF-8?

0 голосов
/ 27 марта 2009

Это очень неэффективно. Правильно написанный SQL должен возвращать именно те данные, которые вы хотите, и протоколы для таких передач были разработаны, чтобы быть очень эффективными. Затем ваше приложение добавляет HTML, javascript, растровые изображения и т. Д. И поэтому должно генерировать как минимум удвоенный трафик по сравнению с базой данных.

...