Подскажите где за недорого и удобнее всего для существующего приложения разместить БД на внешнем сервере?
Изучив цены на AWS и AZURE - цены какие-то дикие в месяц получаются (около 1000-1500$). Либо что-то не так понял, либо не там смотрел.
БД небольшая, с относительно редкими запросами.
Причина выноса наружу - периодическая загрузка mysql процессора под 100% (до перезагрузки), разбираться некогда и непонятно что искать. А база должна работать постоянно.
Владимир Б. дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац).
В противном случае, ваши вопросы будут удаляться по причине тег-спама, а систематические нарушения приведут к блокировке учетной записи.
а) Либо разобраться с проблемой периодической нагрузки — раз некогда, то наймите человека, который сделает эту работу за Вас.
б) Либо платите за лишнюю нагрузку.
Кроме того, БД надо размещать территориально рядом с основным сервером — т.е. в том же ЦОДе. Иначе сайт/приложение будет работать заметно или очень медленно.
С нагрузкой понятное дело нужно заниматься.
Но на период поиска причин и тестирования - БД нужно продублировать где-то чтоб работа с ней не повлияла на пользователей.
БД используется в настольном приложении через API (это данные лицензий и статистика). Поэтому размещение не существенно, хотя и желательно для API.
А что, разве тестового сервера нету? Если там нагрузка небольшая — то можно взять либо базовый сервер (linode, AWS, DO и т.д) либо базовый инстанс с БД и там уже прогонять тестирование. Кроме того, есть же еще логи и статистика — вполне можно посмотреть когда там идет перегрузка. Как приложение определяет, когда ему использовать API? Там случайно не стоит что-то типа "раз в ноль секунд/минут/полночь"? Если так — то может просто одновременно много приложений ломятся в АПИ и вот тут возникает перегрузка? Нельзя привязывать вызовы АПИ ко времени, лучше делать случайное время обращения к АПИ для равномерной нагрузки во времени.
Есть, но если дело в окружении то хочется вынести основную БД куда-то, и тогда уже дождаться нагрузки и смотреть по факту. Но чтоб это не повлияло на пользователей.
Там случайно не стоит что-то типа "раз в ноль секунд/минут/полночь"? Если так — то может просто одновременно много приложений ломятся в АПИ и вот тут возникает перегрузка?
Раз в несколько минут проверки (случайный промежуток в пределах). Но не может же в итоге держаться нагрузка до победного?
В таком случае просто взять сервер чуть мощнее, чем текущий, добавить туда мониторинг времени запросов, статистику и все прочее. Раз сервер лицензий — то возможно кто-то пытается сломать лицензию приложения и сам спамит запросами к серверу лицензий.