Google App Engine - процессорное время завышено или слишком завышено? - PullRequest
2 голосов
/ 20 ноября 2010

Судя по разговору, который я вел на #appengine на irc.freenode.net, я определенно не единственный человек, сбитый с толку ценами GAE, поэтому я решил, что я добавлю это в StackOverflow и попрослю ясности. По сути: для приложения с приведенными ниже цифрами, каким должен быть счет за «процессорное время» в год?

Предположим:
h = плата за Google App Engine в час для процессорного времени. В настоящее время h = 0,10 $
f = ежедневная бесплатная квота процессорных часов в Google App Engine. В настоящее время я думаю * f = 2853,5
t = всего зарегистрированных пользователей
s = одновременные пользователи. Предположим = t * 0,2
е = (запросов / сек) / одновременный пользователь. Предположим = 0,5
r = запросов / сек = с * е
R = запросов / день = r *3600* 24
p = процессорное время / запрос. Предположим, 150 мс / запрос. То есть предположим, что р = 0,15 / 3600
c = процессорное время / сек = r * p
C = процессор / час / день = c *3600* 24
у = среднее количество дней в году = 365,25 B = время процессора в год = (C - f) * ч * у

Следовательно, C = t * 0,2 * 0,5 * (0,15 / 3600) *3600* 24
Итак, предположим, что я получил 10000 зарегистрированных пользователей, что означает C = 3600.

В этом случае:
B = (3600 - f) * h * y = 9146,5 * $ 0,10 * 365,25 = $ 40415 до ближайшего доллара

Это правильно, или я неправильно понял, сколько процессорного времени, как оно оценивается или как работают квоты?

* Свободная суточная квота четко не выражена, но я думаю это 6,5 часа для общего пользования плюс 2487 часов для манипулирования хранилищем данных: всего 2853,5 часа в день, при условии, что Мое приложение в основном тратит время на обработку запросов, используя контроллер для генерации представлений моделей в хранилище данных и разрешая операции CRUD на этих моделях.

NB. Стенограмму обсуждения IRC см. В истории изменений этого вопроса.

Ответы [ 2 ]

6 голосов
/ 20 ноября 2010

Я думаю, что некоторые из ваших оценок слишком высоки.

20% зарегистрированных пользователей сайта используют сервис в любое время.Это очень высоко.Это означает, что средний человек зарегистрирован только на 5 веб-сайтах и ​​тратит 24 часа в день на просмотр этих 5 сайтов.Я думаю, что было бы ближе, чтобы оценить, что средний человек зарегистрирован на 50 веб-сайтах и ​​тратит 2,4 часа в день на просмотр всех из них вместе взятых, что оттолкнет вас в 100 раз.

0,5 запросов насекунда за одновременного пользователя.Это зависит от сайта, но я бы сказал, что обычным шаблоном является наличие одного динамического запроса для отображения шаблона страницы и ряда статических обработчиков для отображения изображений, CSS и javascript.Статические запросы не несут платы процессора.Если существует один динамический запрос на страницу, ваша оценка предполагает, что средний пользователь переходит на новую страницу дважды в секунду.Я бы сказал, что каждые 5 секунд более разумно.

Я не уверен, что этот вид оценки особенно полезен для начала.Независимо от того, имеет ли ваш сайт 10 000 пользователей или 10 миллионов пользователей, вы либо монетизируете трафик, либо теряете деньги.Если вы тратите в среднем 150 мс процессорного времени на запрос при $ 0,10 в час, один доллар покупает вам 240 000 запросов.Если вы не можете заработать 1 доллар дохода от рекламы за 240 000 просмотров страниц, вы делаете что-то не так.

Эти оценки не учитывают, сколько вы платите за пропускную способность или дисковое пространство, или за то, что выпроигрывать каждый раз, когда Google решает перевести хранилище данных в режим только для чтения в середине рабочего дня.Или затраты на разработку хранилища данных, что накладывает много ограничений, которых вы бы не имели с традиционной реляционной базой данных.Они также не учитывают то, что вы приобретаете в масштабируемости;если ваш сайт пользуется небольшой популярностью (например, подавляющее большинство в Интернете), вы, вероятно, вписываетесь в бесплатные квоты и ничего не платите.Если вы станете очень популярными, ваше приложение будет автоматически масштабироваться, если вы с самого начала разработали его.Это в отличие от EC2 или Azure, где вы платите ~ 77 долл. США за экземпляр, независимо от того, кто-то бьет его или нет.

0 голосов
/ 30 ноября 2010

Ник Джонсон по существу ответил на этот вопрос здесь . (Спасибо, Ник!) Кажется, ответ: «По большей части, да, это правильно».

...