Я готов купить несколько серверов, и мне интересно, что будет лучше всего.
Мой сайт обслуживает около 1 миллиона php-страниц в день. А в базе данных около 4 миллионов строк, которые постоянно растут. (60% чтение, 40% запись, 100qps)
Мне просто нужно знать, какое именно оборудование лучше всего подходит для того, что я делаю.
Я использую CentOS, MySQL 5 и lighttpd.
У меня есть деньги, чтобы инвестировать в хорошее оборудование, сейчас я смотрю:
http://www.newegg.com/Product/Product.aspx?Item= N82E16816101260 N82E16819117185 N82E16820148259 N82E16822116059
(пришлось перечислить их вот так, потому что я не могу разместить 4 ссылки)
Будет ли это совместимая установка? В основном я хочу отказаться от аренды коробки и вместо этого совместить.
Я бы порекомендовал потратить дополнительные деньги и приобрести систему у одного из крупных компаний (Dell, HP, IBM и т. Д.). Когда вы покупаете сервер у этих ребят, вы получаете контракт на поддержку. Этот контракт на поддержку предоставляет вам запасные части в течение нескольких часов после сбоя, так что вам не нужно ждать прибытия новой части. Если, конечно, вы не хотите бездельничать, ожидая выхода новой материнской платы до того, как обновление BIOS заблокировало ее.
Кроме того, вы получаете некоторые гарантии, что оперативная память, плата, контроллеры дисков и т. Д. Будут работать вместе без каких-либо проблем с драйверами, поскольку поставщик уже позаботится об этом за вас.
Вы можете многое сделать на 1 или 2 веб-серверах с 1–4 ГБ ОЗУ и минимальным диском. Теперь потратьте свои доллары на MySQL. Чем больше данных можно поместить в ОЗУ, тем счастливее будет MySQL. MySQL плохо использует много ядер, поэтому чистая скорость процессора (МГц) более важна, чем количество процессоров / ядер.
Мы не можем дать конкретные рекомендации, не учитывая ваше приложение (вы используете memcache или другую систему кеширования? Почему нет? Каковы ваши потребности в избыточности? Какая часть приложения статическая или полустатическая, а не динамическая?)
Если ваше приложение простое, вы можете просто рассмотреть возможность его облачного хостинга. Rackspace, Amazon и другие предлагают доступные услуги, которые позволяют увеличивать и уменьшать количество систем, которые у вас есть в сети. Это может быть очень рентабельным, особенно если загрузка вашей системы сильно меняется (эффекты слэшдота / digg) или у вас ограниченная информация о том, как использование вашего приложения будет расти с течением времени.
Мне неприятно это говорить, но вы ничего не упоминаете о том, что, вероятно, является самым важным - разработано ли ваше приложение для масштабирования на ферму из нескольких серверов? Если его нельзя хорошо разделить, тогда вы достигнете довольно жесткого предела своей емкости, когда вы можете подняться выше, но вы поднимаетесь на дорогостоящую часть кривой затрат / производительности.
(опубликовано как ответ, потому что вместо этого мне не хватает уровня для комментариев)
Вам, вероятно, понравится двухъядерный четырехъядерный процессор, предпочтительно процессоры Intel Harpertown, поскольку они вполне доступны, но процессоры Nehalem с HT предложат больше потоков процессора.
Оперативная память важна, может быть, 12 ГБ или больше, чтобы не перегружать диски запросами БД.
Покупка нескольких дисков SA-SCSI и размещение их в массиве RAID-10 даст вам дополнительную скорость и обеспечит отказоустойчивость. Вам понадобится как минимум 4 для правильной настройки RAID-10.
Помимо этого, вам также потребуется оптимизировать MySQL, а также ваши запросы, если это не так.
Это всего лишь в среднем 11,5 запросов / сек. Что при условии нормального трафика будет означать пик 25-30 запросов / сек в нормальный полдень. Даже если вы предположите 10-кратные пики, которые могут работать где угодно, от виртуальной машины slicehost объемом 512 МБ (40 долларов в месяц) до 8-ядерной / 64 ГБ / 6-disk-raid-10-w / bbwc (12 тыс. Долларов США вперед, плюс colo / пропускная способность / мощность в месяц). Это будет широко варьироваться в зависимости от того, что делают ваши скрипты php и вашей схемы БД.
Вы упоминаете свой трафик в настоящем времени, предположительно, ваш существующий сервер обрабатывает рабочую нагрузку, но вы хотите улучшить производительность? Если вы в настоящее время не меняете местами, маловероятно, что вам понадобится больше памяти на новом сервере, хотя вам, вероятно, понадобится место для роста.
Почти единственное, что я могу порекомендовать без дополнительной информации, это то, что если вы собираетесь сохранить это на своем собственном оборудовании, убедитесь, что его raid-10 находится на контроллере с кешем записи с резервным питанием от батареи.