>Вчера, во время обсуждения www.i-gorod.com, возникла мысль собрать команду с целью создания социально-значимого и эффективного ресурса.
Можно понимать не однозначно. Хотите, по примеру i-gorod, поучаствовать в роспиле, или же хотите показать что i-gorod ничего за деньги не смогли сделать, а вы сделаете кое-что абсолютно бесплатно?
Мне во всем подошел GAE. Даже полнотекстовый поиск по 100 Мб. текста сделать удалось.
А вот понадобился HTTPS с красивым сертификатом — и приехали. У GAE пока нет такой возможности. Когда будет — не известно. Приходится в спешном порядке все переносить на Amazon BeansTalk.
Разбирался пол дня. Самое сложное было — установить этот самый SSL-сертификат. К серверу по SSH не подключался — нет необходимости.
Главные недостаток Amazon — это их база данных SimpleDB. Google BigTable — намного более продвинутая. Второй недостаток — долго деплоится по сравнению с GAE.
Я разобрался почему это. Гугл выдает JSON при отправке запроса на адрес www.google.com/fusiontables/gvizdata?tq= Так вот, если в заголовке запроса не указан Accept-Charset — то возвращается белиберда. А IE почему-то не указывает Accept-Charset. Может и есть способ заставить его указать этот Accept-Charset?
А вы как хотите делать? Свой JSON-прокси на сервере поднимать?
Кстати, недавно сам начал использовать FusionTables и нашел 2 бага:
1. Выборка по Marged-таблицам с кол-вом записей более 0.5 млн. происходит оооочень медленно. Уже отписал Google, они даже ответили и занесли в баг-треккер. А вот выборка по обычным таблицам происходит довольно шустро.
2. При использовании JS Visualization Api из IE вместо русских букв возвращаются знаки вопроса ?????????? ????.. Оказывается в заголовке запроса должен быть Accept-Charset: utf-8. В IE его почему-то нету… У вас русского текста в выдаче нет? Если есть русский текст — проверьте открыть в IE. Я сначала был доволен — потом облом. Не работает в IE. Эту проблему до сих пор не решил. Вы не сталкивались с этой проблемой?
А там он по смыслу не очень подходит. Файл рисунка ведь не всегда называется так же как символ, который на этом рисунке изображен. Оказывается в GAE нельзя чтобы файл назывался ( или ). А вот цифрами можно.
>>Можно ссылку на описание где и как GAE «ограничивает приложения как неэффективные»?
Лично я об этом узнал из статьи: habrahabr.ru/blogs/gae/94640/ абзац «Одна секунда». В официальной документации не припомню чтобы такое встречалось. Но, с учетом моего опыта, похоже на правду.
>>Что в логах медленных запросов — присутствует ли «loading_request=1»?
Как то не подумал посмотреть ранее. Действительно в 90% этих запросов есть loading_request=1. Но как так получилось что они присутствуют по 5 штук на каждой странице лога???
Смотрю лог нового счетчика. Просмотрел 10 страниц лога — НИ ОДНОГО запроса красным или оранжевым нет. В среднем выполняется за 64ms 175cpu_ms 128api_cpu_ms.
Сейчас трафик — 6 запросов в секунду. Было 8.
На 42 тыс. показов 8 ошибок «Concurrent Modification» — получается 1 ошибка на 6000 запросов (нужно было добавить несколько счетчиков с рандомным доступом).
>>Уже по 500мс на обычный запрос видно, что приложение тяжеловато.
Это все org.toyz.litetext. Счетчик, который используется сейчас, работает где-то за 40 ms.
Можно понимать не однозначно. Хотите, по примеру i-gorod, поучаствовать в роспиле, или же хотите показать что i-gorod ничего за деньги не смогли сделать, а вы сделаете кое-что абсолютно бесплатно?
А вот понадобился HTTPS с красивым сертификатом — и приехали. У GAE пока нет такой возможности. Когда будет — не известно. Приходится в спешном порядке все переносить на Amazon BeansTalk.
Разбирался пол дня. Самое сложное было — установить этот самый SSL-сертификат. К серверу по SSH не подключался — нет необходимости.
Главные недостаток Amazon — это их база данных SimpleDB. Google BigTable — намного более продвинутая. Второй недостаток — долго деплоится по сравнению с GAE.
Т.е. с помощью jQuery получиться обратиться только к своему домену, а вот к домену Google только через JSON-прокси (либо их либо свой).
А вы как хотите делать? Свой JSON-прокси на сервере поднимать?
1. Выборка по Marged-таблицам с кол-вом записей более 0.5 млн. происходит оооочень медленно. Уже отписал Google, они даже ответили и занесли в баг-треккер. А вот выборка по обычным таблицам происходит довольно шустро.
2. При использовании JS Visualization Api из IE вместо русских букв возвращаются знаки вопроса ?????????? ????.. Оказывается в заголовке запроса должен быть Accept-Charset: utf-8. В IE его почему-то нету… У вас русского текста в выдаче нет? Если есть русский текст — проверьте открыть в IE. Я сначала был доволен — потом облом. Не работает в IE. Эту проблему до сих пор не решил. Вы не сталкивались с этой проблемой?
Склонен считать что это соответствует действительности.
Лично я об этом узнал из статьи: habrahabr.ru/blogs/gae/94640/ абзац «Одна секунда». В официальной документации не припомню чтобы такое встречалось. Но, с учетом моего опыта, похоже на правду.
Скорее всего да — в библиотеке org.toyz.litetext что-то не оптимизировали.
Хороший вопрос. Раньше было String, потом модифицировал и забыл изменить. Нужно будет исправить…
Как то не подумал посмотреть ранее. Действительно в 90% этих запросов есть loading_request=1. Но как так получилось что они присутствуют по 5 штук на каждой странице лога???
Смотрю лог нового счетчика. Просмотрел 10 страниц лога — НИ ОДНОГО запроса красным или оранжевым нет. В среднем выполняется за 64ms 175cpu_ms 128api_cpu_ms.
Сейчас трафик — 6 запросов в секунду. Было 8.
На 42 тыс. показов 8 ошибок «Concurrent Modification» — получается 1 ошибка на 6000 запросов (нужно было добавить несколько счетчиков с рандомным доступом).
>>Уже по 500мс на обычный запрос видно, что приложение тяжеловато.
Это все org.toyz.litetext. Счетчик, который используется сейчас, работает где-то за 40 ms.
Если используете JDO — то PersistentManager метод persistAll.