Подтвердить что ты не робот

Является ли движок приложения более дорогим, когда он медленнее?

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

Кажется, что в эти медленные периоды я получаю намного больше желтых предупреждений по моим запросам - говоря, что я использую много CPU. Конечно, в этот период они занимают больше времени. Меня беспокоит, что в эти медленные периоды мой платежный процессор, похоже, растет.

Итак, чтобы быть понятным - когда движок приложения работает быстро, запрос может завершиться через 100 мс. В медленном периоде для одного и того же запроса может потребоваться более 1 с. Тот же URI, то же кэширование, тот же путь обработки, тот же самый хранилище данных, те же самые индексы - намного больше CPU. Желтые предупреждения, как я понимаю, относятся к оплачиваемому использованию ЦП, и их гораздо больше, когда движок приложения медленнее.

Это, похоже, создает странную ситуацию, когда мое приложение стоит больше, чтобы работать, когда производительность движка приложения хуже. Это означает, что Google зарабатывает больше денег, чем хуже работает платформа (вплоть до того, что она терпит неудачу, или клиенты уходят). Возможно, у меня сложилась ситуация не так, и это не работает так, но если это так работает, то, как клиент, давление и балансы там все не так. Это не означает, что вы ошибаетесь в отношении google part - просто, что отношения между этими двумя вещами кажутся неправильными.

Похоже, что алгоритм Google выглядит примерно так: "Если я дам задание на обработку CPU и начну свои часы, а затем останови его, когда работа вернется, я получаю оплачиваемый показатель ЦП". то есть он вообще не измеряет работу ЦП. Разумеется, это время должно быть разделено на количество выполняемых одновременно заданий обработки плюс некоторые дополнительные, чтобы покрыть дополнительное переключение контекста. Я уверен, что материал трудно измерить - возможно, причина.

Я думаю, вы можете утверждать, что справедливо, что вы платите больше, когда движок приложения пользуется большим спросом, но это делает бюджет почти невозможным - вы не можете генерировать статистику, например, "100 пользователей стоят мне 1 доллар в день", потому что может измениться по целому ряду причин - в том числе приложению, занимающему больше клиентов, чем инфраструктура может реально справиться. Если Google переквалифицирует механизм приложений, тогда все клиенты платят больше - это еще одно отношение, которое не звучит правильно. Разумеется, затраты google должны снижаться, поскольку они борются с большим количеством клиентов, и эти клиенты используют больше ресурсов - на основе эффекта масштаба.

Должен ли я ожидать, что два одинаковых запроса в моем приложении будут стоить мне примерно одинаковой суммы каждый раз, когда они будут работать - независимо от того, сколько времени требуется для создания приложения для приложения настенного времени? Не понял ли я, как это работает? Если у меня нет, есть ли причина, почему я не должен беспокоиться об этом в долгосрочной перспективе? Есть ли какая-то документация, которая делает эту ситуацию более ясной? Cheers,

Колин

4b9b3361

Ответ 1

Это было бы более сложным, но они могли бы изменить алгоритм биллинга на функцию нагрузки. Или, возможно, они могли нормализовать измерения ЦП на основе производительности аналогичных вызовов в прошлом.

Я согласен, что это создает проблемы для разработчиков.

Ответ 2

Да, это правда. Это облом. Он также берет их за секунду, чтобы запустить мое приложение Java (которому я был выставлен счет) каждый раз, когда они решили, что мой сайт пользуется низким спросом, и не нуждаются в ресурсах.

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

Ответ 3

Этот вопрос кажется старым, и я думаю, что схема ценообразования должна была измениться...

Google App Engine взимает плату за " часы экземпляра", а экземпляры, которые в настоящее время порождаются, можно просмотреть в консоли GAE. И Google предоставляет корректировки, поэтому вы можете выбрать стоимость и латентность для своего приложения.

https://developers.google.com/appengine/docs/adminconsole/performancesettings

Я заметил, что если front-end увязнет, ​​попав в общий ресурсный ресурс, GAE создаст кучу экземпляров, чтобы уменьшить время ожидания. И вы будете платить за эти часы, даже если латентность/пропускная способность не улучшится. Поправки, о которых я говорил, похоже, помогают в этом.