Минусы использования Thread.sleep для замедления работы скрипта? - PullRequest
3 голосов
/ 27 августа 2011

Это относится к Google App Engine, использующему Java. («threadsafe» в этом сценарии будет установлено в true, поэтому, пожалуйста, включите это в ваш мыслительный процесс.)

На какие квоты App Engine влияют? Цель состоит в том, чтобы замедлить работу некоторых пользователей (не платящих пользователей) таким образом, чтобы их запросы доставлялись дольше. (Время, затрачиваемое на веб-сайт / приложение, находится в диапазоне часов на пользователя.) Таким образом, в ситуации, когда пользователь замедляется вдвое, половина теоретического использования полосы пропускания сохраняется на пользователя, поскольку они тратить еще больше времени на компенсацию; в этом случае они ложатся спать в конце дня.

В частности, моя цель состоит в том, чтобы это было более экономически эффективным, чем что-либо еще.

Задержки потоков влияют на квоты ЦП? (Извините за мое незнание по этой теме. Я предполагаю, что такая задержка потока Java не влечет за собой использование самого процессора, но я могу ошибаться, поэтому я спрашиваю вас, ребята, которые более осведомлены.)

Какие-нибудь другие вещи, которые я должен считать вредными?

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

Заранее спасибо за любые мысли и спасибо, по крайней мере, за чтение моего вопроса.

1 Ответ

2 голосов
/ 29 августа 2011

При текущей модели выставления счетов ваше приложение не будет масштабироваться, если вашим обработчикам потребуется в среднем более 1000 мс для возврата ответа. Умышленное добавление спящих вызовов замедлит работу вашего приложения и уменьшит вероятность его автоматического масштабирования.

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

Когда большинство людей пытаются сократить время отклика на миллисекунды, вы спрашиваете о способах искусственного замедления запросов; это кажется очень странным и может оттолкнуть ваших пользователей. Разве вам не лучше предоставить им страницу, информирующую их о превышении квоты и приглашающую их вернуться позже (или, скажем, заплатить вам)?

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