Администратор
Кому интересно - формирование ленты происходит примерно так.
Идет обращение к базе - выбирается группа тех, кто есть в избранном у данного пользователя (с проверкой права на доступ к дневнику). Причем проверка шарашит по всей базе пользователей.
Затем у обнаруженных избранных выбираются записи, сделанные после даты Х. При этом проверяется еще и право доступа к кажой конкретной записи.
Наконец все это разбивается на страницы (учитывая выбранное число вывода для конкретного юзера).
В часы пик сервер, мягко скажем, не радуется.
Если у кого-то есть внятные мысли по поводу оптимизации запросов - будем рады выслушать.
Идет обращение к базе - выбирается группа тех, кто есть в избранном у данного пользователя (с проверкой права на доступ к дневнику). Причем проверка шарашит по всей базе пользователей.
Затем у обнаруженных избранных выбираются записи, сделанные после даты Х. При этом проверяется еще и право доступа к кажой конкретной записи.
Наконец все это разбивается на страницы (учитывая выбранное число вывода для конкретного юзера).
В часы пик сервер, мягко скажем, не радуется.
Если у кого-то есть внятные мысли по поводу оптимизации запросов - будем рады выслушать.
28.10.2005 в 13:08
28.10.2005 в 13:52
gluker, если цена за месяц будет примерно равняться цене 2-х часов интернета а за счет более быстрой работы сайта вы сэкономите 10 часов своего сидения так может это наоборот выгоднее не думали об этом а? - именно об этом мне и подумалось, иначе не стала бы я ссылаться на свой черепаший Инет. Не надо делать дневники платными ДЛЯ ВСЕХ, просто покажите нам пальцем, куда отправлять ДОБРОВОЛЬНУЮ оплату.
ПС: сегодня ни разу в Избранное не тыкнула, совестно...
28.10.2005 в 14:12
1) может быть, вынести в отдельную табличку счётчик обновлений в избранном для каждого юзера, апдейтить её при добавлении записей и писать цифру на главную страницу? Ведь сейчас просто нет другого способа узнать, есть ли что нового в ленте, кроме как её рефрешнуть. Возможно, увидев нолик, юзер лишний раз просто не щёлкнет по ссылке избранного.
2) ввести таймаут на обращение к ленте
28.10.2005 в 14:42
28.10.2005 в 14:55
Выглядеть будет так: обновить/загрузить какую-либо страницу дайри (например, главную) -> открыть список Избранных и посмотреть, есть ли новые записи -> в зависимости от результата -- ничего не открывать или открыть френдленту.
Зачем большинству пользователей второй шаг, если тртий сразу после первого дает те же практически результаты?
Если будет счетчик с цифиркой, то в некотором количестве случаев не потребуется ни второй, ни третий шаги. Пользователю хорошо. Если серверу не сильно сложно возиться с таким счетчиком -- ему тоже хорошо.
Второй вариант -- если в списке Избранных сделать отдельную графу -- название записи (со ссылкой). Тогда френдлента нужна уже гораздо меньше. Правда, я не знаю, будет ли такой вариант легче серверу.
Но вот первый -- точно очень удобный.
28.10.2005 в 14:58
28.10.2005 в 15:06
Так? Это вы называете облегчением?
28.10.2005 в 15:09
это на самом деле оптимальней. так как в крайнем случае - если человек давно не смотрел избранное - эти две ссылки просто совпадут.
зато формирование новой ленты из 3-5 записей - будет намного шустрее.
28.10.2005 в 15:15
Это ведь у всех по-разному. С моим режимом чтения избранных дневников по вечерам и лишь изредка днем, мне удобнее (да и приятнее) зайти в дневник и прочитать записи с последней прочитанной — до самой свежей, даже если их там накопилось от 5 до 20 штук. Мне хочется "настроиться на волну" автора. Сделать это в ленте, где идут записи разных людей, я не могу, и способен лишь просмотреть бегло, не вникая. Наверно потому я лентой не пользуюсь.
28.10.2005 в 15:16
28.10.2005 в 15:20
28.10.2005 в 15:31
Скажем, делает человек запись, у него 100 или 200 ПЧ, в том числе и вы (в том числе и те, кто никогда лентой избранного не пользовался) — надо каждому из ПЧ поставить единичку в его табличку — это серверное время, которое сейчас не тратится.
Далее, вы смотрите на счетчик — у вас там единичка. Может, вы в другой раз и не стали бы открывать свою френд-ленту сейчас, а открыли бы ее через 10 минут. Но вы видите "+1" и мышка тянется нажать на нее и посмотреть — кто и что написал. Это только увеличит число ее загрузок.
Далее, те из юзеров, которые никогда лентой не пользовались, видят тоже у себя "+1" и тоже открывают ленту избранного... Так мы только увеличим число пользователей френд-ленты.
28.10.2005 в 15:35
*ну не программер я, вот и объясняю криво, не про все возможные варианты!* Тут где-то предлагали сделать отдельную ссылку "Новое избранное". Вот по ней-то точно зайдет только тот, кто хотел что-то поглядеть в Избранном.
Скажите, а формирование такой "френд-ленты с последнего посещения" серверу легче или тяжелее?
28.10.2005 в 15:35
28.10.2005 в 15:53
Варианты решения у них уже есть и они делаются. А как только у них получится, мы вас известим.
28.10.2005 в 16:01
Я больше не буду
P.S. И большое спасибо вам.
28.10.2005 в 16:06
Я вашему профессионалу-программисту записку написала, но все же и здесь скажу: меня несколько настораживает, что программы делаются от технических возможностей и от представлений администрации о потребностях пользователей, а не от потребностей пользователей. Ну что стоит перед разработкой запустить какой-нить простенький опросник? Вдруг ситуация с пользователями окажется не совсем такой, как виделась?
Я понимаю, что администрация читает всяческие письма и предложения и что-то делает на их основе. Но ведь далеко не все пользователи пачками пишут письма о том, что им надобно в первую очередь.
28.10.2005 в 16:06
Мы тут сами к ним всегда пристаем с вариантами, а они нам объясняют почему это хуже чем уже есть, либо неприемлемо совсем.
28.10.2005 в 16:09
а то некоторые, особо жаждущие, жмут на кнопку раз в 10 минут
Экая Вы идеалистка.
Scorpio
если цена за месяц будет примерно равняться цене 2-х часов интернета а за счет более быстрой работы сайта вы сэкономите 10 часов своего сидения так может это наоборот выгоднее не думали об этом а?
Дело в том, что многим лицам лет скажем до 16ти родители либо сами платят за интернет, либо дают деньги только на него. Доказать необходимость ведения дневника в интернете и плату за эту услугу - вещь довольно сложная. Кроме того, я не совсем уверен что многие дети/подростки захотят показывать им свои дневники, что наверняка придется сделать при обращении за финансовой помощью.
Не надо делать дневники платными ДЛЯ ВСЕХ, просто покажите нам пальцем, куда отправлять ДОБРОВОЛЬНУЮ оплату.
Этот вопрос уже сто раз обсуждался, посмотрите техподдержку. Не знаю, может ответ и в FAQ запостили.
Некоторый оффтопик, не хочу делать еще один комментарий к другой записи: избранное удобно своей универсальностью. Кликнув один раз, можно посмотреть и свои, и чужие записи. Один клик вместо возможных десятков, а удобство часто по количеству кликов для выполнения операции и вычисляется.
upd. Сорри за оффтопик). Специально для реаниматора.
28.10.2005 в 16:10
Родные и любимые, давайте все же дадим возможность пообщаться в этой теме только программистам и только по поводу конкретики?
Пожалуйста...
28.10.2005 в 18:38
28.10.2005 в 18:49
28.10.2005 в 20:54
А пишут много, не думайте. Именно пишут письма о том, что им надобно в первую очередь, причем хотят или требуют для себя совершенно противоположного — не получится слушать всех, по-любому.
28.10.2005 в 21:15
Да нет, я примерно о том же, о чем и Вы. И я могу не знать какой-то (и даже большой) части вашей работы, а потому запросто быть неправа.
Но тут уже приходили программисты и ругались, что непрофессионалов в тему набежало, работать мешают, так что я пойду, не буду оффтопить.
29.10.2005 в 06:19
29.10.2005 в 08:02
29.10.2005 в 08:27
29.10.2005 в 08:52
29.10.2005 в 08:57
29.10.2005 в 09:02