Вопрос: Какой сервер мне нужен для обработки 10 миллионов запросов и запросов mySQL в день? [закрыто]


Я новичок в администрировании серверов, и я ищу мощный хостинг для размещения моего нового веб-сайта. Этот веб-сайт в основном представляет собой базовую версию мобильной онлайн-игры, и она будет:

  • обрабатывать до 10 миллионов запросов HTTPS и запросы mySQL в день
  • хранить до 2000 ГБ файла на жестком диске
  • передача, возможно, 5000 ГБ данных в месяц и в месяц
  • он работает на PHP и mySQL
  • имеют 10 миллионов записей в базе данных mySQL, для каждой записи есть 5-10 полей, по 100 байт каждый

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

  1. Какой процессор / ОЗУ мне нужен для выделенного сервера или VPS?
  2. Какие хостинговые компании могут предложить такой выделенный сервер или VPS?
  3. Что относительно облачных вычислений? Я исследовал Amazon EC2, но мне это кажется сложным. И я связался с Rackspace, но, как ни странно, они сказали, что Cloudsites не подходит для моих требований. Интересно, есть ли другая облачная хостинговая компания.
  4. Любой другой альтернативный метод?

17
2018-03-19 06:52


Источник


мы обошли это с помощью двух Linux-серверов с 8 гигабайтами RAM, mysql - это кластер mysql, и БД быстро хранится в памяти, CPU никогда не бывает очень сильно, если вы используете хороший дистрибутив, а диск нужно будет использовать только для получения ежечасных снимков вы получаете избыточность в случае сбоя. также вы можете захотеть установить mysqltuner, чтобы вы могли следить за индексами и т. д., и наилучшим образом использовать все, а также добавлять множество индексов и вести журнал медленных запросов, так как для Интернета это может быть действительно дешево, просто добавьте нагрузку балансир на передней панели для разделения трафика - minus4
Почему бы не использовать облачную службу? Azure, Amazon, RackSpace, GoGrid, Heroku? - bbqchickenrobot


Ответы:


Дешевый рабочий стол?

Пойдем в математику.

  • 10 миллионов запросов.
  • Это ломается до 416667 запросов в час.
  • Это ломается до 6944 запросов в минуту.
  • Это ломается до 116 запросов в секунду.

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

  • 5000 ГБ в месяц тривиально - серьезно, применяется одна и та же математика.
  • Это ломается до 208 ГБ / день
  • Это ломается до 8 ГБ / час
  • Это ломается до 148 МБ / мин
  • Это ломается до 2,5 МБ / с, 25 Мбит. Двойной для пика - 50 Мбит, тривиальный для любого хостингового центра. Будет стоить вам, однако.

  • Храните 2000 ГБ на жестком диске. Это жесткие диски 2x2000 ГБ в RAID? Если только: для базы данных, у него много сложного ввода-вывода, то это всего лишь несколько десятков дисков и LOT из 73GB 15.000RPM дисков SAS в RAID 10 (около 60 дисков), чтобы получить требуемый ввод-вывод - это вопрос не отвечает без LOT больше информации о шаблонах доступа к данным.

  • Запускает PHP и MySQL - мой мобильный телефон может это сделать;) Вопрос в том, насколько сложным является приложение. MySQL МОЖЕТ или НЕ МОЖЕТ быть приемлемым решением здесь, BTW l. - это потребует большего тестирования. Есть причина, по которой некоторые люди по-прежнему используют другие более крупные коммерческие базы данных.

  • Какой CPU / Ram мне нужен для выделенного сервера или VPS?

Можно было бы сказать, что это зависит от логики (сколько вычислений в части PHP, умности или отсутствия программистов и много других вопросов.

Серьезно, это нетривиальная настройка. Попросите некоторых специалистов изучить это.

В основном вам нужно спуститься и сделать домашнее задание. Многие вопросы не отвечают в этой форме. Тем более, что вам не нравятся ваши данные ...

  • Резервные копии?
  • Нет планов на случай непредвиденных обстоятельств? Я имею в виду, что серверы умирают - так что вы в порядке с тем, что сайт не работает в течение нескольких дней, пока настроена настройка?

30
2018-03-19 07:01



Спасибо за ваш ответ. php прост, я полагаю, что основное бремя лежит на mySQL, я протестировал некоторые mySQL-запросы на моем ноутбуке (Core2 Duo) с помощью WAMP в Windows. с 10 mllions записями в mySQL, в среднем каждый запрос стоит 0,1 секунды. насколько сильным будет использование Quad Core при обработке запросов mySQL? - Calvin
Забудьте о четырехъядерном ядре. Ваш ноутбук SUCKS в IO - и IO - это то, где базы данных недоступны. У вас есть один жесткий диск, это SLOW и ROBUST (latop). Серверы используют MULTIPLE жесткие диски, которые являются FAST (но не надежными). Я использую четырехъядерный SQL Server fron MS и способен обрабатывать более 500 партий в секунду при простых выборах (одна партия - одна выборка) без максимизации процессора - но я получаю много активности диска на диспозиции диска, которая, возможно, более чем в 30 раз быстрее ваших (и это пока не впечатляет). Диски - это предел. Плюс правильное программирование. - TomTom
Ваш трафик ssl необходимо будет зашифровать / дешифровать, вы можете отключить его на балансировщике и сделать обратный прокси-сервер обычным http-сервером. Это должно удерживать латентность. вы также можете сделать шифрование на аппаратном уровне ...en.wikipedia.org/wiki/SSL_acceleration  если бюджет не касается использования вашей базы данных ramsan.com/success/ccpgames.htm - The Unix Janitor


Чтобы добавить некоторые из моих впечатлений, которые могут быть полезны:

  • Как отметил TomTom, сложно / невозможно дать точные спецификации, поскольку многое зависит от дизайна и реализации вашего приложения. Аппаратное обеспечение, которое дает мне или кому-либо еще X-запросы / сек, может не сработать для вас.
  • У меня есть низкоуровневый выделенный сервер MySQL (Intel Core2 Duo E4600 2,40 ГГц, 4 ГБ ОЗУ), обслуживающий в среднем 100 запросов / сек (около 10 миллионов в день) с частотой простоя процессора 90%. Помимо некоторых основных настроек в конфигурации, он работает хорошо из-за того, что он читается тяжелым (+ 95% чтения), а активный набор записей легко содержится в памяти. Учитывайте размер вашего активного набора при выборе объема ОЗУ сервера, так как это может иметь большое значение. Убедитесь, что вы понимаете разницу между размером базы данных и размером установленной записи. Например, мои базы данных суммарно ~ 7 ГБ, но активный набор, вероятно, всего несколько 100 МБ.
  • Аналогично, у меня есть сервер Apache с аналогичными характеристиками, обслуживающий ~ 1 млн запросов в день, который имеет среднюю скорость загрузки на уровне ~ 95%. Запросы представляют собой сочетание очень простых запросов AJAX данных карты и более сложных страниц MediaWiki.
  • Бенчмаркинг вашего конкретного приложения - хорошее начало, пытаясь точно определить, что вам нужно. Вы не хотите оценивать, но оценка может быть столь же плохой из-за потенциальной потери денег и усилий.
  • Рассмотрим не только среднюю частоту запросов, но и максимальную скорость. Вы не хотите, чтобы сервер, который едва мог обрабатывать среднюю ставку, поскольку ставки запросов могут значительно отличаться в течение дня, недели и месяца. Например, я могу получить 3-4 раза трафик в часы пик в выходные дни, как я делаю в течение минимальных часов в течение недели. Сколько это будет зависеть от вашего приложения и базы пользователей.
  • Можете ли вы кэшировать любые ваши запросы к базе данных / HTTP? Это может значительно увеличить вашу частоту запросов с более дешевым / меньшим количеством оборудования в зависимости от того, сколько вы можете кэшировать.
  • Рассмотрим варианты масштабирования для будущего роста сейчас, а не позже. Хорошим вариантом может быть использование горизонтального масштабирования, которое позволит вам начать с минимального оборудования и легко расти по мере необходимости.
  • Правильный дизайн вашего прикладного уровня может оказать огромное влияние на его конечную производительность. Плохой SQL-запрос в таблице без индексов может быть на несколько порядков медленнее, чем правильно спроектированный. Аналогично, плохо настроенные серверы Apache / MySQL могут быть во много раз медленнее, чем при правильной настройке.

6
2017-12-18 20:46