Посібники

Як зменшити витрати на хостинг вашого застосунку

Щоб зменшити витрати на хостинг, з'ясуйте, що насправді працює і чому, а потім дозвольте всьому засинати, коли ним ніхто не користується. На хостингах, які масштабуються до нуля, неактивний застосунок і спляча база даних коштують дуже мало, тож найбільша економія зазвичай приходить від видалення того, що їх не дає заснути — найчастіше це код, який перевіряє базу даних кожні кілька секунд — а потім від зменшення трафіку і видалення застосунків, якими ніхто не користується.

У більшості малих застосунків немає проблеми з трафіком. У них є проблема «щось завжди увімкнене». Цей посібник показує, як її знайти і виправити, з промптами, які можна дати AI-конструктору застосунків.

За що ви насправді платите

Рахунки за хостинг малих застосунків складаються з кількох речей. Знання того, яка з них велика, підказує, де шукати.

ВитратиЩо їх визначаєТипове виправлення
Обчислення (сервер)Потужність машини і кількість годин роботиДати заснути; підібрати правильний розмір
База данихЇї розмір і тривалість активностіЗупинити постійні запити, щоб вона могла заснути
ТрафікСкільки даних завантажують відвідувачіСтиснути зображення, кешувати файли
СховищеФайли і дані, які ви зберігаєтеВидалити старі завантаження, логи та резервні копії, які не потрібні
Сторонні APIВиклики моделей ШІ, карт, електронної пошти, SMSКешувати результати, додати ліміти

Багато сучасних хостингів, зокрема Mythex, масштабуються до нуля: коли ніхто не користується застосунком, сервер зупиняється і не коштує нічого за обчислення, а прокидається при наступному відвідуванні. Це змінює питання з «наскільки великий мій сервер?» на «чому мій сервер увімкнений?»

Крок 1: Подивіться, куди йдуть гроші

Перед будь-якими змінами відкрийте сторінку використання вашого хостингу і знайдіть:

  • Який проєкт коштує найдорожче. Часто один застосунок становить більшу частину рахунку.
  • Яка категорія — обчислення, база даних, трафік чи сховище.
  • Коли відбуваються витрати. Рівна лінія вночі, коли у вас немає користувачів, — це підказка, що щось тримає застосунок увімкненим.

На Mythex Деталі використання показують останні 30 днів, поділені на Build (AI-агент) і Run (хостинг, трафік, база даних і сховище файлів), з розбивкою за проєктами.

Крок 2: Дайте неактивним застосункам і базам даних засинати

Для більшості малих застосунків це головний важіль. База даних, яка засинає, коли неактивна, і прокидається при наступному запиті, майже нічого не коштує в тихі години. База даних, до якої звертаються кожні кілька секунд, ніколи не буває неактивною, тож ви платите за неї цілий день.

Ліміти хостингу від Mythex пояснюють, як це працює для опублікованих застосунків: застосунок, що спить, не витрачає нічого на обчислення, база даних стартує з найменшого розміру, зростає під час навантаження, засинає після 5 хвилин бездіяльності і оплачується за свій розмір, помножений на час, коли була активною. Тож застосунок, який звертається до бази даних навіть раз на кілька хвилин, удень і вночі, оплачується так, ніби завжди зайнятий, — тоді як той самий застосунок без фонової активності коштує дуже мало.

Поширені речі, які не дають застосунку заснути:

  • Опитування. Сторінка, що запитує сервер «щось нове?» кожні 2–5 секунд. Залиште таку вкладку відкритою на одному ноутбуці — і база даних ніколи не засне.
  • Панелі, що самі оновлюються, перезавантажуючи дані за таймером, навіть коли ніхто не дивиться.
  • Монітори доступності, що пінгують застосунок щохвилини.
  • Фонові цикли в коді сервера — setInterval, який безперервно очищає або синхронізує дані.
  • Заплановані запити «keep-alive», які хтось додав, щоб уникнути повільного першого відвідування — вони працюють, не даючи заснути, а саме це і коштує грошей.

Попросіть ШІ знайти їх:

Перегляньте код і знайдіть усе, що запускається за таймером або багаторазово звертається до бази даних: опитування, setInterval, автооновлення, фонові цикли. Перелічіть кожне, скільки разів воно запускається і чи працює, коли ніхто не має відкритої сторінки. Поки що нічого не змінюйте.

Потім виправте їх по черзі:

Панель опитує /api/orders кожні 3 секунди. Змініть, щоб вона оновлювалася лише поки вкладка браузера видима, і кожні 60 секунд замість 3. Додайте кнопку ручного оновлення.

Якщо вашому застосунку справді потрібні оновлення в реальному часі (чат, жива таблиця результатів), запитайте, чи можна надсилати оновлення лише тоді, коли щось змінюється, а не постійно запитувати. Для багатьох застосунків достатньо «оновлювати, коли користувач повертається на вкладку».

Крок 3: Підберіть правильний розмір сервера

Більші машини коштують більше за годину. Багато застосунків, створених ШІ, стартують із типового розміру, який підходить; проблеми виникають, коли просять «більше потужності», щоб виправити повільність, яка насправді спричинена повільним запитом.

  • Залишайте найменший розмір, який обслуговує ваш трафік без помилок.
  • Якщо бачите збої через пам'ять, спершу запитайте ШІ, чи застосунок не завантажує в пам'ять забагато (цілу таблицю замість однієї сторінки результатів).
  • Додавайте машини лише тоді, коли маєте виміряний трафік, що їх потребує.

На Mythex розмір машини вибирається під час публікації залежно від потреб застосунку, а додаткові машини запускаються лише при сильному трафіку і знову засинають, коли він спадає. Вартість залежить від розміру, тож попросіть у чаті менший розмір, якщо вважаєте, що він завеликий.

Крок 4: Зменшіть трафік

Трафік — це те, що завантажують відвідувачі. Зображення зазвичай становлять найбільшу частину.

  • Стискайте зображення і подавайте сучасні формати, такі як WebP або AVIF.
  • Змінюйте розмір зображень до того розміру, в якому вони показуються. Фото 4 000 пікселів, показане як мініатюра 400 пікселів, марнує більшість завантаженого.
  • Відкладене завантаження зображень нижче першого екрана.
  • Кешуйте статичні файли (скрипти, стилі, зображення), щоб повернення відвідувачі не завантажували їх знову. Див. що таке кешування.
  • Не дозволяйте застосунку віддавати великі файли при кожному перегляді сторінки.

Перевірте кожне зображення в застосунку. Змініть їх розмір до найбільшого, в якому вони показуються, конвертуйте у WebP і відкладіть завантаження всього, що нижче першого екрана. Скажіть мені загальний розмір до і після.

Швидші сторінки і менший трафік зазвичай йдуть разом — див. як зробити ваш вебсайт швидшим.

Крок 5: Приберіть те, чим ніхто не користується

  • Зніміть з публікації старі застосунки — тестові розгортання, завершені експерименти, сайт минулорічного заходу.
  • Видаліть старі завантаження, логи та експорти, які вам не потрібні.
  • Видаліть спільні посилання на попередній перегляд, якими більше не користуєтеся. На Mythex відкриття посилання попереднього перегляду пробуджує проєкт і використовує ваші кредити, тож забуте посилання, яке хтось продовжує відкривати, все ще коштує грошей.
  • Приберіть невикористовувані сервіси — сервер API або воркер, які застосунок більше не викликає.

Крок 6: Розгляньте статичний сайт

Якщо ваш сайт не має входу, збережених даних користувачів і серверної логіки — маркетинговий сайт, портфоліо, меню, — він може бути статичним сайтом: простими файлами, які роздає CDN. Немає сервера чи бази даних, які треба підтримувати в роботі. На Mythex статичні сайти не використовують кредити, поки просто існують.

Цей сайт не має входу чи збережених даних. Чи можна перебудувати його як статичний сайт без сервера? Що ми втратимо?

Крок 7: Стежте за платними викликами API

Для застосунків, які викликають моделі ШІ, карти або SMS, рахунки від сторонніх сервісів можуть значно перевищувати вартість хостингу.

  • Вимагайте вхід для всього, що коштує грошей за виклик.
  • Додайте ліміт на користувача (див. що таке обмеження частоти запитів).
  • Кешуйте відповіді, які не змінюються, наприклад геокодування тієї самої адреси.
  • Встановіть ліміти витрат або сповіщення у кожного провайдера.

Поширені помилки

  • Здогадки замість вимірювань. Спершу перевірте розбивку використання; дорога частина часто не та, яку ви очікували.
  • Купівля більшого сервера для виправлення повільності. Відсутній індекс у базі даних або завантаження забагато даних — зазвичай справжня причина.
  • Опитування всього. Кожен таймер на кілька секунд — причина, чому база даних залишається активною.
  • Пінгування застосунку, щоб «тримати теплим». Це знищує економію, яку дає масштабування до нуля. Прийміть коротке пробудження при першому відвідуванні або свідомо платіть за постійну роботу.
  • Забуті старі розгортання. Невикористовувані застосунки з базами даних і фоновими завданнями непомітно накопичують витрати.
  • Нестиснуті зображення. Часто найбільша окрема стаття витрат на трафік для малих сайтів.

Контрольний список

  • Я знаю, який проєкт і яка категорія (обчислення, база даних, трафік, сховище) коштує найбільше.
  • Ніщо не опитує базу даних кожні кілька секунд, коли ніхто не дивиться.
  • Панелі оновлюються з розумним інтервалом або лише поки вкладка видима.
  • Жоден монітор доступності чи фоновий цикл не тримає застосунок увімкненим без причини.
  • Сервер має найменший розмір, що працює.
  • Зображення змінено за розміром, стиснуто і відкладено у завантаженні; статичні файли кешовані.
  • Старі застосунки знято з публікації, старі файли видалено, невикористовувані посилання попереднього перегляду прибрано.
  • Сайти без даних або входу — статичні.
  • Платні API мають вхід, ліміти на користувача і сповіщення про витрати від провайдера.

Зменшення витрат на Mythex

Mythex використовує один баланс кредитів для побудови і для хостингу, тож економія на хостингу залишає більше кредитів для побудови. Кілька особливостей саме Mythex:

  • Опубліковані застосунки та їхні бази даних засинають, коли неактивні, і прокидаються при наступному відвідуванні. База даних засинає після 5 хвилин бездіяльності, тож видалення постійного опитування зазвичай дає найбільший ефект.
  • Pro платить вдвічі менше за тариф Free за хостинг, бази даних, трафік, сховище файлів і пісочницю попереднього перегляду; ШІ коштує однаково на обох тарифах. Див. Кредити.
  • Ви отримаєте лист до того, як низький баланс призупинить опублікований застосунок, а призупинені застосунки зберігають свою базу даних і файли.

Для ширшої картини щодо експлуатаційних витрат див. скільки коштує побудова застосунку і що таке веб-хостинг.

Запитання

Чому рахунок за хостинг високий, коли користувачів мало?

Зазвичай щось не дає йому заснути. Код, що перевіряє базу даних кожні кілька секунд, монітор доступності, що пінгує щохвилини, або забутий фоновий цикл можуть тримати сервер і базу даних увімкненими цілодобово, навіть без відвідувачів.

Чи коштує застосунок, що спить?

На хостингах, які масштабуються до нуля, застосунок, що спить, витрачає мало або нічого на обчислення; за збережені дані ви зазвичай платите. На Mythex опублікований застосунок, що спить, не витрачає нічого на обчислення, а його база даних засинає після 5 хвилин бездіяльності і оплачується лише за час, коли вона була активною.

Чи погане опитування для витрат на хостинг?

Опитування кожні кілька секунд означає, що база даних ніколи не має паузи бездіяльності, тож не може заснути. Опитуйте рідше, лише поки хтось дивиться сторінку, або надсилайте оновлення замість того, щоб їх запитувати.

Чи дешевше розміщувати статичний сайт, ніж вебзастосунок?

Зазвичай так. Статичний сайт — це лише файли, які роздає CDN, без сервера чи бази даних, які треба підтримувати в роботі. Якщо ваш сайт не має входу чи збережених даних, побудова його як статичного сайту — одна з найбільших доступних економій.

Mythex · Pricing · Створюйте що завгодно з ШІ · Шаблони сайтів і застосунків · Порівняння Mythex · Глосарій створення застосунків за допомогою ШІ · Безкоштовні інструменти для створення застосунків за допомогою ШІ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)