Количество одновременных подключений к БД, а также процессорные ограничения?
Здравствуйте, помогите рассчитать ресурсы для проекта. И так проект "Бонусная система". Основана на web-интерфейсе, то есть сайт для регистрации клиента (личный кабинет), и мобильное приложение для владельцев этой системы, чтобы начислять и списывать баллы. Так вот, в поисках хорошего хостинга натыкаюсь на ограничения по запросам к MYSQL. В среднем я предполагаю, что одновременно с базой будет работать ну более 500 человек (это клиенты со своим ЛК, это и мобильное приложение которые управляет бонусами). Вопрос про то какой хостинг брать, какие лимиты рассматривать?
Раньше я не сталкивался с такой проблемой, так как проекты были не такого масштаба) Буду рад если кто подскажет и расскажет
Для подобных задач используются облачные сервера, а не "хостинги". Настраивается нода, на которой лимит это только ее реальная мощность. Дальше по мере роста нагрузки ноды масштабируются - либо ввысь (добавляем процессор-память этой ноде), либо вширь (подключаем дополнительные ноды).
polifill: я не использую рублевые хостинги вообще, как класс. Зачем, если из готового образа можно поднять VPS за минуту, на нем все настроено как надо тебе, а не хостеру, и по скорости / нагрузке уровень совершенно другой? Это раз. Два - 500 пользователей ОДНОВРЕМЕННО - это уже не уровень шареда, тем более если действия ресурсоемкие - вас с рублевого хостинга быстро попросят. Ну а если у вас пойдет рост - зачем переносить все и настраивать, если уже все готово.
polifill: VPS != шаред. Мы об одном и том же говорим. А вот какой это VPS и инфраструктура - AWS или простой Digital Ocean - это уже не принципиально, кому что больше нравится. Суть в том, что такой траф на БД большинство шаредов не разрешат (автор и пишет об этом - что лимиты стоят). А если и прямо не запретят, то по факту быстро попросят сменить тариф на сильно более дорогой. И да, речь совершенно не о том сейчас, что можно переписать и сделать эффективнее.
polifill: да никому не интересно на чем вы пишете. Есть задача. Есть, как я понял, конкретный код, который работает вот так, как работает, и не влазит в лимиты хостеров. А вы тут выкатились с предложением все отрефакторить. Лично я это поддерживаю, вопрос же у топикстартера в другом.
1. Никакой ТАКОЙ траф на БД вовсе НЕ НУЖЕН. Всего 500 пользователей. Вы шутите? Для грамотно написанного ПО ничего экстраординарного. И не будет там постоянных НАГРУЖАЮЩИХ базу 500 подключений - посмотрите внимательно на описание задачи. Приличная доля подключений будет "спать".
2. Пользуйтесь нормальным шаредом а не помойками. И нормальными тарифами. И никогда не столкнетесь с лимитами.
3. VPS на AWS или DO и VPS на обычном не облачном провайдере - это далеко не одно и то же. И по деньгам особенно.
Игорь Воротнёв:
> Есть, как я понял, конкретный код, который работает вот так, как работает, и не влазит в лимиты хостеров. А вы тут выкатились с предложением все отрефакторить.
Изначально - нет. Работает - не трожь.
Но если такая плевая задача требует хостинга уровня дедика или старшей VPS-ки, то это погано.
500 пользователей это не о чем нагрузка, а проект уже близок к исчерпанию возможностей роста из-за технических ограничений.
Можно конечно платить кучу баксов за сервера в облаке...
Но что то мне подсказывает, что в этом бизнесе не такие большие бабки крутятся, чтобы бездумно их на сервера тратить (замечу - безвозвратно).
polifill: ох.. да где ж вы такие нервные беретесь.
1. Вы уже прям код автора изучили и знаете как там все работает? Сколько будет реальных коннектов я не знаю, автор спросил про 500 одновременных. Я понимаю так, что в реальности клиентов на порядки больше, а 500 - это среднестатистическое число тех, кто одновременно торчит.
2. Я пользуюсь нормальными серверами и шареды обхожу стороной. Спасибо за совет, которого я не просил.
3. Сервера в РФии по 200руб не пользовал и не планирую. Хз, может там и есть что-то ок, но я свои и тем более клиентские проекты не доверю непонятным конторам, работающим ниже планки рентабельности. За последние года два не раз советовал людям DO, а другие комментаторы совктовали более дешевые офферы. Можете пройтись по архивным топикам и поклацать эти ссылки - почти все эти дешевые хостеры либо закрылись, либо подросли и подняли цены до рентабельного уровня. Если у вас нет 5-20$ на сервер в месяц, имхо, вы что-то делаете не так.
Игорь Воротнёв:
> 1. Вы уже прям код автора изучили и знаете как там все работает?
У меня есть проект, который держит 5000 одновременно РАБОТАЮЩИХ подключений. И базируется это все на 200 рублевом VPS
Поэтому мне не нужно смотерть в код автора, чтобы понять, что код, испытывающий проблемы с 500 не постоянно нагруженных подключений - говно.
П.С.:
Говно тоже имеет право на жизнь.
Может у него были первоначальные инвестиции, он их потратил на первичный код (а пока проект не выстрелил не было смысла код вылизывать), а сейчас доходов недостаточно для переделки.
polifill:
> Поэтому мне не нужно смотерть в код автора, чтобы понять, что код, испытывающий проблемы с 500 не постоянно нагруженных подключений - говно.
дык я с этим и не спорю) все верно, можно сделать эффективнее на порядки. И 500 rps / 500 коннектов для простого VPS - это ни о чем. Но мы ушли от изначального вопроса автора.
Игорь Воротнёв:
> Сервера в РФии по 200руб не пользовал и не планирую. Хз, может там и есть что-то ок, но я свои и тем более клиентские проекты не доверю непонятным конторам, работающим ниже планки рентабельности. За последние года два не раз советовал людям DO, а другие комментаторы совктовали более дешевые офферы. Можете пройтись по архивным топикам и поклацать эти ссылки - почти все эти дешевые хостеры либо закрылись, либо подросли и подняли цены до рентабельного уровня. Если у вас нет 5-20$ на сервер в месяц, имхо, вы что-то делаете не так.
Ну то есть вы не обладаете достаточным опытом с одим хостером, вы натыкались только на однодневом, и поэтому заявляете что все они говно?
Я работаю с хостером уже более 10 лет. Ничего с ним не случилось до сих пор.
И, кстати, шаред хостинг - это не плохой хостинг, не медленный.
Это тот же ВПС, но с уже определенным заранее набором ПО и тех. поддержкой заточенной на работу с этим небольшим набором ПО.
За счет этого шаред может быть даже быстрее ВПС.
В чем именно?
Тут достаточно PHP, MySQL и какой нибудь кэширование в оперативке типа memcache. У нормального шаред-хостера - все это имеется. И без оверселла.
polifill: У нормального шареда со всеми этими плюшками и цена на уровне vps. Тот же memcached часто есть, но 16 мб (32, 64 - не принципиально), чего сильно мало - вместо адекватного LRU будет гонка за место в памяти.
polifill: что то я вообще не помню чтобы мемкеш стоял на шаредах, а как вы себе его предоставляете?
у него ни авторизации ничего нет, общим его делать нельзя .
Пума Тайланд: Но если вернуться к задаче - шаред или VPS это одно и то же по сути.
Просто на шареде админ предоставляется хостингом, а на VPS ты сам ищешь админа.
Здесь можно и хороший шаред и VPS.
Дедик - лишнее.
Но если их проект так грузит систему, что за 500 пользователей хостеры (судя по постройке фраз - неоднократно уже) требуют выселения - то это не админовская задача, а программистская.
Можно временно решить переходом на дедик, но это будет жопой, когда проект еще вырастет.
Игорь Воротнёв: оверселл - неотъемлимое свойство хостинга.
оверселл позволяет хостингу зарабатывать больше - а это значит или снижать цены, или тратить больше на оборудование, или на платить саппорту, чтобы лучше работал.
другое дело чтобы это делалось с умом.
и не было отсутствия конкуренции - а она есть и заставляет делать с умом.
Игорь Воротнёв:
Вы работали с бюджетными хостерами, надо полагать.
Качественный шаред-хостинг не имеет никакого отношения к урезанию производительности.
Там используется та же VPS доп. услуги по поддержанию предустановленного ПО.
Поэтому такой шаред стоит дороже VPS.
vjjvr: нет, я как раз работал с шаредами, которые сильно дороже VPS. Flywheel например. А также был в одном из датацентров DO. Есть с чем сравнивать, есть понимание того, как это все устроено и там, и там.
При чем здесь вообще количество соединений к MySQL?
Это все прекрасно реализуется на одном-единственном соединении.
Ну и кэширование, конечно, не забудьте. Какой-нибудь Tarantool, например.
Кстати Tarantool даже и без MySQL под эту задачу подойдет и работать будет быстрее на том же сервере.
Все зависит от того как написать.
У меня 5000 постоянных соединений на 200 рублевом хостинге VPS прекрасно держит.