Pull to refresh

Comments 71

Так, например, всеми любимый LiveJournal уже несколько раз блокировал IP моего сервера, за слишком частое обращение к их сервису. Эту проблему пока решить не удалось.
ничто не мешает иногда использовать возможности пользователей и получать данные через JavaScript или Flash, организуя скрытый запрос от пользователя к LiveJournal
А нельзя написал LJ письмо и договориться с ними?
Договориться попробовать можно. Вопрос в том а согласятся ли они) у них и так последнее время проблемы.

Скорее надо смотреть на оптимизацию выборки.

Вопрос автору: ленты выбираются для каждого пользователя? или для всех? а потом раздаются только актуальные обновления :?
Пока они меня отфутболивают, мол разблокировать нельзя. Такое чувство, что отвечает бот. Буду еще писать письма, так как подобная проблема наблюдается только с ЖЖ.
Буквально вчера заметил, что у них есть лимит на количество запросов за определенный период. Что-то вроде не больше 10 запросов за 20 секунд.
А не собираете статистику по активно пользующимся?
А то, возможно, из 5 тысяч 3 тысячи зашли посмотреть, залили OPML и забыли. А теперь сервер тянет каждые х минут новые фиды мёртвым душам?
В районе 2-х тысяч человек пользуется активно. Через пару дней схлынет новая волна с хабра и буду чистить базу, а то очень много фидов в пустую грузят сервер и при этому подписчик этого фида в лучшем случае заходил один раз.
В таком случае, логичнее было бы переводить такой фид на ручное обновление, например, при визите пользователя, а не удалять фид совсем. Да и с чем связана чистка, неужели в многопользовательской структуре не заложена централизованная загрузка фидов с одинаковыми адресами?! А как же тогда социальная составляющая, рекомендации других фидов, которые грузят другие пользователи?!
Централизованная загрузка заложена конечно. Я к тому, что в базе уже больше 50 тысяч уникальных(!) фидов и представьте себе какая это нагрузка на сервер обновлять их каждые 15 минут.
Идея с ручным обновлением мне понравилась. Спасибо. Сделать так, что, например, если человек давно не заходил и его фиды в базе в единичном экземпляре, то переключить их только на ручное обновление. Я так подозреваю, что сейчас очень много фидов впустую нагружают сервер.
Статистика использования, чем чаще заходят люди, читающие определенный фид, тем чаще его обновлять. Если какой-то фид читает один человек, да и тот заходит раз в неделю, то этот фид можно обновлять 1 раз в сутки, например
Основная задача агрегатора — получить все записи, а не подстраиваться под визиты пользователя! Т.к. люди могут заходить и читать одно и тоже, что обновляется всего раз в день!
Поэтому необходимо провести мониторинг частоты обновления фидов, я например использую следующую простую формулу: 15000/(количество добавленных записей за 2 недели) = период обновления в минутах.
Для снижения нагрузки в процессе мониторинга, можно анализировать последнее число добавленных записей — если оно остается неизменным, то сдвигать процесс обновления на несколько периодов вперед.
Ну, а формирование списка фидов для обновления основывается на времени последнего обновления + сдвиг, сформированный на основе мониторинга.
Конечно, для коррекции времени обновления, можно учитывать общее число записей в фиде (например домножить на него период_обновления_в_минутах) или зафиксировать время наибольшей активности фида, но это снизит оперативность обновления, хотя и обеспечит получение всех записей на протяжение определенного времени.
Да, вы правы. Частота обновления фида важнее, чем частота захода пользователя
Социальная составляющая там есть, только реализована не совсем наглядно. Если в настройках нажать на «Подписаться на канал», то там есть кнопка «Другие каналы». И вот как раз там можно посмотреть самые популярные каналы на сервисе.
Уважаемые, не появился ли клиент для Android с поддержкой скачивания полных страниц с картинками для последующего чтения online?

Спрашиваю не только применительно к TT-RSS, но и любому бэкэнду.
Если речь все же про offline чтение, то такой клиент называется News+ (бывший gReader)
Да, конечно же, я имел в виду оффлайн-чтение. Огромное спасибо за ссылку на News+.
что-то не даёт он подписаться на журнал в ЖЖ, 403 ошибка.
Не поделитесь мануалом, как вы все настраивали и оптимизировали?
Для настройки nginx использовал эту статью. C mysql не перестаю шаманить до сих пор, так как это самое узкое место. В частности под каждую таблицу создается отдельный файл (в конфиге стоит innodb_file_per_table=1), ну и рекомендации, которые выдает эта утилитка.
В свете последних новостей от MySQL, не планируете перейти на MariaDB?
И много рекламы, там, тут, ниже, выше, им, монетизируйтесь. =))) Шутка конечно, Вашим сервисом не пользуюсь, пока, возможно прийду.
У feedly тоже проблема с LJ. Перешел на Netvibes

Автору бы 1) завести список пожеланий в открытом виде 2) кнопку donate
Вот чёрт. Спасибо, что сказали. А я уже успокоился. Придется уходить от них… У The Old Reader'а этой проблемы нет, насколько я вижу.
после комментария сразу написал feedback в Feedly. И пару часов назад резко пришла большая пачка LJ постов. Уж не знаю, совпадение это или нет, но факт налицо.
Теперь вижу, а с главной tinyrss.ru/ ссылок нет почему-то. Это и удивило
я проблему с блокированием ипов на сервере(для парсера) решил купив прокси за 3-5 долларов в месяц, и выбирая случайный из списка — скармливаю его курлу.
«Эту проблему пока решить не удалось. Как вариант, вижу решение этой проблемы в использовании прокси при обращении к их серверам.»
А может попробовать связаться с ними, аудитория у Вас велика, просто они там у себя блок на блокирование Вас сделают.
блок на блокирование

До чего жизнь-то дошла… :)
Договориться с ними пока не удалось, но не буду переставать делать попытки.
Я после той статьи поставил себе на сервер собственный TinyRSS. Вполне себе решение проблемы :)
собственный сервер — отличное и дешевое решение… за те же предложенные 3$ вполне можно поднять свой Tiny RSS на каком-нить частном виртуальном хостинге…
> Есть и проблемы, которые пока не удалось решить. Так, например, всеми любимый LiveJournal уже несколько раз блокировал IP моего сервера, за слишком частое обращение к их сервису. Эту проблему пока решить не удалось. Как вариант, вижу решение этой проблемы в использовании прокси при обращении к их серверам. Если у вас есть идеи, как решить эту проблему, прошу отписаться в комментариях.

Купите платные прокси, например, на buy.fineproxy.ru можно взять 3000 ip за $30/month. Прокси хорошие, стабильные. Вам стока не нужно, поэтому можете там подобрать тарифный план подешевле.
Благодарю за ссылку. Попробую.
Ужасно не понравился клиент, фиды не обновляются сами по себе. Установка автоматического обновления ничего не изменила.
Вы что-то настроили не так. У меня стабильно обновляются каждые 5 минут по cron-у.
под клиентом я имел ввиду вебморду tinyrss.ru. Перешел на feedly.
Мне, например, кажется, что это велосипед и проще пообщаться с техподдержкой самого ЖЖ.
Как идеал, да. Но со временем к ЖЖ могут добавиться другие. Будете со всеми договариваться? А кто-то из них может и рога показать.
Вопрос номер раз: как с этим справлялся гугл?
Гугл компания с мировым именем. Я думаю даже если их сервера блокировали, то им достаточно было одного письма или звонка в ЖЖ, чтобы их разблокировали.
Я в ЖЖ писал, что мол так и так, TinyRSS это RSS-агрегатор и само собой, что он часто долбится на их сервера. Но мне ответили, что разблокировка невозможна. Возможно я получал письма от бота. Буду пробовать писать им еще.
Фидов очень много и не спасает даже скрипт многопоточного обновления. Сейчас фиды, у которых мало подписчиков, могут обновляться раза два в сутки. Фиды у которых много подписчиков обновляются в среднем раз в 20 минут, но это благодаря ручному обновлению (то есть кто-то кликнул ручное обновление и автоматом это обновление видят все подписчики этого фида). Думаю купить еще пару впсок и на них тоже запустить скрипт обновления.
А сколько уже уникальных фидов накопилось?! Я вам еще раз рекомендую обратить внимание на получение контента средствами браузера, а потом его отправкой на сервер для парсинга — это существенно снизит нагрузку на сервер. Кстати, 20 минут — слишком много, можно и пропустить что-нибудь интересное.
Уникальных фидов там уже более 50-ти тысяч. Мне понравилась ваша идея на получение контента средствами браузера. Подумаю как ее можно реализовать. А так конечно надо и чистки проводить, так как почти наверняка большинство из этих фидов впустую грузят сервер.
Разве браузером можно выкачивать другие ресурсы? Там ведь модель безопасности запрещает яваскриптом обращаться к содержимому ресурсов с доменом, отличным от того, с которого был загружен яваскрипт.
Так, например, всеми любимый LiveJournal уже несколько раз блокировал IP моего сервера, за слишком частое обращение к их сервису.


Я решил эту проблему используя feedburner.google.com (если и его не закроют) как прокси.
Подскажите, пожалуйста, что нужно сделать в настройках, чтобы при просмотре папок с фидами на первом месте указывалось название фида, а на втором — название статьи, как это реализовано в GR, в TTRSS это сделано наоборот.
К сожалению это сделать нельзя. Только если через собственные стили пошаманить и поменять местами с помощью css(там в настройках есть «Изменить пользовательские стили»).
Что-то у вас js-ок грузится какое-то неприличное количество (порядка полусотни).
Это какой-то фронтэнд-фреймворк их плодит что ли? Нельзя их склеить и сжать?
Да, это dojo. Вроде бы склеить нельзя, так как подгрузка библиотек реализована в самой Dojo. На мой взгляд вообще как-то странно реализован этот фреймворк и в отличии от автора tt-rss я бы его не стал использовать. Уже давно у меня зреет мысль написать свой собственный фронтенд, а tt-rss использовать как бекенд, через его апи. Надеюсь всё-таки выкроить на это время, так как задача очень интересная.
Dojo можно «склеивать», вот одна из ссылок на туториалы: dojotoolkit.org/documentation/tutorials/1.7/build/
По личному опыту могу сказать, что отказ от его использования будет только плюсом. Dojo очень мощный и предоставляет огромный функционал, но до сих пор имеет проблемы совместимости с браузерами, особенно с Оперой. В своих проектах перешёл на jQuery.

Мне нравиться фича у theoldreader, он показывает фиды которые давно не обновлялись. Иногда полезно делать зачистку.
А можно добавить кнопку Donate с возможностью подписки (для меня самое удобное это Paypal, но можно и что-то другое, если с Paypal не получится)? Собираюсь использовать сервис постоянно, а донатить буду забывать.
Не работает:
— Invalid Regular period. You must specify valid values for the A3, P3, and T3 parameters for a subscription.
Ох, прочёл и прямо за душу взяло. Проходил это всё с The Old Reader примерно около года назад, разве что apache на nginx не менял, но зато сменил PostgreSQL на MongoDB когда приблизился момент того, что данные на SSD не помещались. А вы готовы горизонтально масштабировать хранилище? :)
Ну к горизонтальному масштабированию всё и идет. А как показала себя MongoDB по сравнению с PostgreSQL? И если не секрет, сколько сейчас людей пользуется вашим сервисом?
В MongoDB отлично реализован шардинг, при соответствующее придуманной схеме работает отлично. Есть проблемы с неконсистентностью данных из-за отсутствия транзакций и при денормализации, но с этим приходится мириться и нормализировать время от времени в фоне. Также есть проблема с отсутствием filtered индексов, что создает оверхед на их хранение.
Не секрет, буквально 30 минут назад стало 300 тысяч аккаунтов.
Количество аккаунтов впечатляет :)
Ага, главное, что большинство — активные и создают до 300 запросов в секунду на фронтед в прайм-тайм.
Удачи вам с распределением данных :)
Спасибо)
А еще вопрос. А сколько серверов у вас сейчас используется?
Вот это уже более секрет, чем нет, могу сказать лишь только то, что почти все «универсальные» — хранилище + background job processing. Nginx только на одном, веб-сервера приложения на 3-х :)
Понятно. А с ЖЖ вам удалось договориться? А то похоже всё-таки придется парсить через прокси.
А ЖЖ нас, судя по всему, не блокирует. Думаю, возможно из-за того, что серверов с процессингом достаточно много и они все в германии.
Sign up to leave a comment.

Articles