Привет. Решили тут сменить сервак. Сервак - веб-сервер, основная нагрузка - MySQL. Интересует, что скажете о соотношении цены и качества. Вот какие есть варианты (цена в месяц): Intel® Core™ i7-2600 Quadcore / 16Gb DDR3 / 2 x 3 TB SATA 6 Gb/s 7200 HDD 7200: 49 евро Intel® Core™ i7-920 Quadcore / 24Gb DDR3 / 2 x 750 GB SATA 3 Gb/s 7200 HDD: 59 евро Intel® Xeon® E3-1245 Quadcore / 16 GB DDR3 ECC / 2 x 3 TB SATA 6 Gb/s HDD 7200: 69 евро Intel® Xeon® E3-1275 Quadcore / 16 GB DDR3 ECC / без винта: 89 евро. Винты - дополнительно. 3 TB SATA 6 Gb/s 7200 rpm - 15 евро, 3 TB SATA 6 Gb/s 7200 rpm Enterprise - 30 евро Есть еще серваки на AMD Athlon 64 X2 - но мне кажется i7 / Xeon таки лучше Стоит ли переплачивать за 1275 вместо 1245? Чем лучше винт Enterprise? Какой вариант вам больше всего нравится?
SadKo Ну а что именно надо знать? Основная нагрузка, скорее всего, на проц, т.к. основную часть CPU жрет MySQL, а база маленькая - вся в кеш влазит с большим запасом. На мускуль идут десятки-сотни запросов секунду непрерывно. Местами, возможно, и тысячи.
Уточните самостоятельно что именно дает основную нагрузку, т.к. если размер БД действительно небольшой, есть немаленькая возможность, что обновлять сервер не потребуется, если произвести профайлинг запросов, добавить недостающие индексы и произвести иную оптимизацию.
А текущее железо какое? Херня. У нас 12-ядерный сервак с 24 гигами оперативы обрабатывает 15 млн записей/апдейтов за 10 минут (пиковая нагрузка ~ 30000 записей/апдейтов в секунду). Всё тупо упирается в дисковое I/O. А процы вообще бездельничают. Лучше бы занялись миграцией с мускула на более серьёзную и более производительную СУБД.
SadKo Intel® Core™ i7-920 Quadcore / 8 GB DDR3 / 2 x 750 GB SATA-II HDD (Software-RAID 1) Какая СУБД? Нужна бесплатная.
Не надо на мускуль гнать - его Гугль активно взял в оборот: допиливает, шлет патчи, использует для внутренних нужд. Такие выводы можно делать только после нагрузочных тестов на разных базах.
Ты думай, что предлагаешь. OracleXE - тот ещё кастрат. Из всех CPU будет использован только один, а объём дискового пространства ограничен в 4 гига для 10-ой ветки и 10 гигов для 11-ой ветки. Оно надо, на 4-процессорном-то серваке с терабайтами винтов?
Скажи-ка мне, пожалуйста, сколько серваков у гугля, а сколько планирует использовать топикстартер. Если гуглю не будет хватать производительности - он просто воткнёт ещё несколько серваков. MySQL по производительности позади по сравнению с PostgreSQL и Oracle. Тем не менее, Oracle вроде как взялся за улучшение MySQL и уже навернул кое-какие феньки, ускоряющие работу и расшрияющие функционал.
SadKo Есть смысл в какой-то степени доверять гуглевым инженерам - если бы они решили, что PostgreSQL - лучше, они взяли бы его за корпоративный стандарт, а не MySQL. Черезчур бескомпромиссно - особенно с учетом того, что разные СУБД имеют свои сильные и слабые стороны. Если говорить про проблему топикстартера, то решение нельзя принять без тест-драйва на обоих СУБД. Или у тебя есть ссылка, подтверждающая абсолютное превосходство по перфомансу PostgreSQL перед MySQL? ЗЫ: Я всегда считал PostgreSQL более быстрой и продвинутой СУБД, но решение Google о массовом использовании MySQL несколько сбило меня с толку. В этих интернетах ничьему мнению верить нельзя - всегда надо строить прототипы и замерять характеристики
А кстати, если узкое место - дисковый обмен, то может просто взять блок питания помощнее и навешать на комп много винтов, если MySQL позволяет партишнинг таблиц? А есть ли решения для сетевого партишнинга таблиц, скажем, если взять целый маасив серваков, соединив их гигабит езернетами?
Ну вот коротенький бенчмарк: http://www.randombugs.com/linux/mysql-postgresql-benchmarks.html Вообще, да, в данном случае нужно разворачивать обе БД поочереди и проводить нагрузочное тестирование. Dmitry_Milk Понимаешь, некоторые производители сервернов (например, те же Hewlett Packard) просто напросто не предоставляют дополнительных мест в корпусе для расположения винтов. У нас была подобная проблема: вроде как сервер шустрый, а вот винтов больше двух не запихнёшь.
И да, основной ключ к достижению производительности - это переход с MyISAM на InnoDB, если ещё не сделали.
Посоны, хватит прикладывать линейки к различным СУБД. Посоветуйте по серваку лучше. Вопрос стоял в соотношении цены и качества.
_DEN_ Железо очень крутое, учитывая ваш случай, запросов мало,база целиком в памяти, следует посмотреть на что тратится cpu, иначе база немного разрастется и не хватит никакого железа на неё. В тех же гуглах, mysql сервера используются только для постоянного хранения данных. Всю нагрузку берет на себя in memory cache, обычно это key-value базы типа memcached/redis
_DEN_ Если нерационально используете ресурсы, берите самый дорогой и производительный, это поможет скрыть кулинарные недостатки.