Heroku: Как работает ценообразование postgreSQL и как его ограничить? - PullRequest
0 голосов
/ 04 мая 2019

У меня есть сайт, который находится в Heroku.Это сайт электронной коммерции, который загружает пользовательские проекты (JPG, PNG, PSD-файлы или AI-файлы, PDF-файлы и т. Д.), Но они хранятся в Amazon, а не heroku.

Сейчас я пытаюсь снизить свои расходы, поэтому я проверяю ресурсы и вижу это:

enter image description here

Как вы видите, у меня есть Heroku Postgress Addon Standard 0, который стоит 50 долларов в месяц.

Я пытаюсь снизить стоимость дополнения Heroku Postgress.

В соответствии с этим Страница Heroku есть планы Postgresна 9 долларов.

Однако он имеет предел строк и не имеет емкости хранения.

Как это может повлиять на мое приложение?

Как перейти на этот план?

heroku pg:info

=== DATABASE_URL, HEROKU_POSTGRESQL_GOLD_URL
Plan:                  Standard 0
Status:                Available
Data Size:             18.3 MB
Tables:                26
PG Version:            10.7
Connections:           8/120
Connection Pooling:    Available
Credentials:           1
Fork/Follow:           Available
Rollback:              earliest from 2019-04-30 19:23 UTC
Created:               2019-03-05 16:08 UTC
Region:                us
Data Encryption:       In Use
Continuous Protection: On
Maintenance:           not required
Maintenance window:    Fridays 18:30 to 22:30 UTC
Add-on:                postgresql-polished-46417

=== HEROKU_POSTGRESQL_BROWN_URL
Plan:                  Hobby-dev
Status:                Available
Connections:           0/20
PG Version:            10.6
Created:               2019-02-14 17:19 UTC
Data Size:             7.6 MB
Tables:                0
Rows:                  0/10000 (In compliance)
Fork/Follow:           Unsupported
Rollback:              Unsupported
Continuous Protection: Off
Add-on:                postgresql-opaque-83191

Биллинг:

В моем счете для выставления счетов я вижу, что за март и апрель с меня взимается более 50 долларов США.

Как я могу ограничить это, скажем, 20 долларов США в месяц? ** Мы ожидаем только 100 посещений сверху! **

&

Однако, согласно этому среднему посту посещений, это не показатель, за который мы взимаем плату.Я только что упомянул топ 100 посещений в качестве ссылки.

1 Ответ

1 голос
/ 05 мая 2019

Бесплатный план ограничен 10k строк, правильно, и как только вы достигнете этого предела, ваши вставки начнут отказывать. Был там.

Это действительно так, как написано. 10 тыс. Строк, без ограничений по хранению. У вас может быть текстовый столбец с огромным json-файлом или файлом, и в хранилище это не будет иметь значения, если оно находится под пределом числа строк.

На вас повлияет только то, что вам придется обновить его до более крупного плана, скажем, 9 $, что даст вам 1 млн строк, так как это не обновление вашей базы данных, а переход на новую базу данных, которая у вас будет выполнять.

Таким образом, чтобы выполнить миграцию, вам нужно перевести ваше приложение в режим обслуживания, добавить базу данных за 9 $, заставить ее «следить» за вашей бесплатной базой данных, подождать пару минут, пока база данных за 9 $ обновит себя бесплатными данными базы данных. затем остановите базу данных 9 $ после свободной базы данных и, наконец, переключите ваше приложение на новую базу данных 9 $.

Этот последний шаг, если вы используете переменную среды DATABASE_URL, прозрачен для приложения. Просто отключите бесплатную базу данных и присоедините базу данных за 9 $, выведите ваше приложение из режима обслуживания, и все готово.

Если у вас есть один или два часа простоя, это стоит сэкономить. Вы можете написать сценарий этой миграции, так как он использует только команды heroku.

Еще один простой способ получить бесплатную и надежную базу данных - использовать AWS. Поскольку heroku находится внутри AWS, вам просто нужно настроить RDS в том же регионе, что и ваше приложение, и переключить соединение. Тогда у вас будет бесплатная база данных 30 ГБ на год.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...