Да, это вариант. Но с мемкешем в ГАЕ тоже есть проблемы. Когда мы оптимизировали taxivs.com мы начали кешировать порции обработанных результатов в мемкеш. И все было отлично на локальном и тестовом сервере с маленькой нагрузкой.
Когда мы выкатили на продакшн это изменение, обратили внимание что один инстанс пишет данные в мемкеш, а другие инстансы не видят данные в мемкеше в течение какого-то времени. При попытке записать данные из других инстансов, само собой разумеется, вываливалось предупреждение мол такая ячейка в мемкеше уже занята. Но мы то уже сформировали данные для записи в мемкеш, дернули базу, нагрузили сервер. Получилась очень неприятна ситцация. Насколько я знаю, эта ситуация до сих пор актуальна.
Что мне отвелили в google group? Сказали что да, есть такое. Сказали что можно самому работать через низкоуровневое API с мемкешем. И все.
Да, кстати у меня есть несколько тикетов (баг репортов) которые я отписал в App Engine issue tracker. У некоторых репортов даже есть прикрепленный diff который нужно взять и применить в проекте. Некоторые баг репорты висят уже полтора года, они помеченные как подтвержденные. Но действий со стороны команды App Engine нет, к сожалению. Меня даже посещают сомнени, а действительно ли App Engine является Open Source проектом, или это просто лейба для красоты, мол мы такие хорошие. Выводы делайте сами.
Исследуя новые тарифные планы обратил внимание, что в моих приложениях за рамки бесплатных квот выходит два параметра — количестко экземпляров приложения и Datastore Reads. При этом мое приложение посещается не более 50 раз в день, и при этом плата за параматр Datastore Reads берется в размере 7 центов (~ $2/мес).
Суть приложения в том, что оно берет товары и выводит их пользователю. Даже на самом простом хостинге такое приложение написанное на Django + MySQL выдерживало бы большие нагрузки в рамках выделенных квот. И стоило бы это дешевле.
Поделитесь своим опытом, как уменьшить количество чтений из хранилища данных. Какие использовать методики? Что влияет на количество чтений? Как его уменьшить?
Изначально Google заявлял что на бесплатном аккаунте можно выдать до 5 млн страниц в день, что меня привлекло. Теперь же они дважды поменяли политику, ввели несколько платных сервисов (always-on, плата за инстансы). И неизвестно что будет дальше.
Есть у меня проект, который сейчас съедает порядка 3-5 долларов в день. Но после перехода на новую систему оплаты, это будет около 10-20 долларов, что уже очень дорого. Есть и ряд простых проектиков с посещаемостью около 10-50 хостов в день. Они сейчас используют 4% процессора в бесплатной квоте, после перехода это будет уже стоить около 2-3$ в сетуки.
Нестабильность — самый главный минус GAE. К сожалению. Хотя остальные продукты Google мне очень нравятся.
На самом деле нет необходимости платить 9$. Я не видел информации о том, что включение биллинга (оплаты) будет взымать с нас 9$. Мы сами устанавливаем уровень квот, максимально допустимых за сутки.
На данный момент я сделал ограничил свои прилоения 1 рабочим экземпларом приложения, чтобы сэкономить средства на уже работаюших сайтах.
Рассматриваю переход на Amazon EC2, так как там я могу задавать по расписанию когда нужно запускать дополнительные экземплары серверов. То есть, если мое приложение ночью (по Киеву) не посещается — то я устанавливаю расписание, и ночью у меня работает всего один экземплар сервера. Днем же работают несколько экземпляров. В то же время, если нагрузка на сервер воззрастает, я пишу правило, что нужно включить дополнительный экземпляр приложения на небольшой срок, и затем выключить его. На GAE, к сожалению, нет расписаний, здесь все само думает за вас, точнее за ваши деньги.
Более полутора лет работаю с GAE, но к сожалению мои ожидания не оправдались в плане возможности запуска крупного проекта с легкостью. Вылазит куча моментов, которые элементарно решаются на MongoDb или MySQL и сложно решаются на Datastore. :-(
Выше вы сказали об image crop средствами веб сервера nginx. Можете немного подробнее рассказать об этой возможности? Если я правильно понимаю, сам веб сервер может делать изменение исходного изображения и выдавать результирующую картинку без задействования серверного языка (PHP, Python, Perl и т.д.).
С выходом Chrome OS становится понято значение фразы «Конец Света». Представьте себе, что у вас отключают свет, а ваш отчет в налоговую (который срочно нужно распечатать) лежит где-то на серверах Гугла, и к ним нет доступа. У вас в руках полностью заряженный нетбук, на котором есть только браузер и пару десятков виджетов, которые не могут жить без Интернета.
В общем, можно придумать самые разные варианты развития событий. Одно понятно — если люди на это подсядут, тогда контроль над жизнями людей будет в одних руках. Будем надеяться, что Гугл действительно это делает во благо человечества! :-)
Майкрософт — «Компьютер в каждый дом»
Гугл — «Всю информацию сливайте к нам. При себе держите только слабенький терминал доступа к инфомации и помните ответ на два вопроса — ваш логин и пароль»
Да, действительно такая огромная корпорация как IBM лежит ниже в глазах людей чем Intel (не говорю уже о Проктер энд Гембел). Таки люди способны менять историю :-)
Помнится как в Днепропетровске (Украина) пришли органы и вырубили сервера, где лежал городской портал gorod.dp.ua. Несколько дней город потерял координацию в плане поиска актуальных мероприятий. Беспредел!
Мне интереснее другое — отрыв от Мелкомягких не такой уж и большой. В моем понимании Гугл является на голову боле дружественной компанией, чем МикроСофт.
Когда мы выкатили на продакшн это изменение, обратили внимание что один инстанс пишет данные в мемкеш, а другие инстансы не видят данные в мемкеше в течение какого-то времени. При попытке записать данные из других инстансов, само собой разумеется, вываливалось предупреждение мол такая ячейка в мемкеше уже занята. Но мы то уже сформировали данные для записи в мемкеш, дернули базу, нагрузили сервер. Получилась очень неприятна ситцация. Насколько я знаю, эта ситуация до сих пор актуальна.
Что мне отвелили в google group? Сказали что да, есть такое. Сказали что можно самому работать через низкоуровневое API с мемкешем. И все.
Да, кстати у меня есть несколько тикетов (баг репортов) которые я отписал в App Engine issue tracker. У некоторых репортов даже есть прикрепленный diff который нужно взять и применить в проекте. Некоторые баг репорты висят уже полтора года, они помеченные как подтвержденные. Но действий со стороны команды App Engine нет, к сожалению. Меня даже посещают сомнени, а действительно ли App Engine является Open Source проектом, или это просто лейба для красоты, мол мы такие хорошие. Выводы делайте сами.
Суть приложения в том, что оно берет товары и выводит их пользователю. Даже на самом простом хостинге такое приложение написанное на Django + MySQL выдерживало бы большие нагрузки в рамках выделенных квот. И стоило бы это дешевле.
Поделитесь своим опытом, как уменьшить количество чтений из хранилища данных. Какие использовать методики? Что влияет на количество чтений? Как его уменьшить?
Можете дать более детальное пояснение к графикам — почему экземпляр приложения (instance) проработал 5 часов, а в GAE учелся всего 1 час?
Есть у меня проект, который сейчас съедает порядка 3-5 долларов в день. Но после перехода на новую систему оплаты, это будет около 10-20 долларов, что уже очень дорого. Есть и ряд простых проектиков с посещаемостью около 10-50 хостов в день. Они сейчас используют 4% процессора в бесплатной квоте, после перехода это будет уже стоить около 2-3$ в сетуки.
Нестабильность — самый главный минус GAE. К сожалению. Хотя остальные продукты Google мне очень нравятся.
На данный момент я сделал ограничил свои прилоения 1 рабочим экземпларом приложения, чтобы сэкономить средства на уже работаюших сайтах.
Рассматриваю переход на Amazon EC2, так как там я могу задавать по расписанию когда нужно запускать дополнительные экземплары серверов. То есть, если мое приложение ночью (по Киеву) не посещается — то я устанавливаю расписание, и ночью у меня работает всего один экземплар сервера. Днем же работают несколько экземпляров. В то же время, если нагрузка на сервер воззрастает, я пишу правило, что нужно включить дополнительный экземпляр приложения на небольшой срок, и затем выключить его. На GAE, к сожалению, нет расписаний, здесь все само думает за вас, точнее за ваши деньги.
Более полутора лет работаю с GAE, но к сожалению мои ожидания не оправдались в плане возможности запуска крупного проекта с легкостью. Вылазит куча моментов, которые элементарно решаются на MongoDb или MySQL и сложно решаются на Datastore. :-(
На сайте только что появилась информация что сервера находятся в стадии обновления, и нужно немного подождать.
Вот это лажа :)
Ищем iPod. Ага, тоже занято.
Как насчет iBox. Прололжаем поиск…
В общем, можно придумать самые разные варианты развития событий. Одно понятно — если люди на это подсядут, тогда контроль над жизнями людей будет в одних руках. Будем надеяться, что Гугл действительно это делает во благо человечества! :-)
Майкрософт — «Компьютер в каждый дом»
Гугл — «Всю информацию сливайте к нам. При себе держите только слабенький терминал доступа к инфомации и помните ответ на два вопроса — ваш логин и пароль»
Правда нужно почитать лицензионное соглашение, разрешается ли в таком виде использовать их сервис.