SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Система
статистики и рейтингов
    LiveJournal.com


           Николаев Дмитрий, <SUP>
LiveJournal.com Stats
Статистика посещений журналов и записей
(за час, за день, за месяц):

 по хитам,
 по посетителям,

 по читателям.



Статистика комментариев к записям.

Списки недавних посетителей — «Мои гости».

Другие счётчики.

Рейтинги журналов и записей за период.
Входные данные

Количество соединений с LJ.com       1000

Скорость поступления событий     800-1200 в сек

  Отфильтрованные события            ≈ 50%

Количество сообщений за сутки       50 ∙ 106

    Объем данных за сутки            16 Gb
LiveJournal.com Stats
LJ.com   Collector Server           Counter Server
                                       Counters
                                             Hits
                                                                 Apache
                                                                 mod_ljstats
                                      Comments
...
                                         Mobile
                                                         File
                                       ...             Storage
                           Events
            Filter
                           Reader
                                    Database Server




                     Events
                                                    PostgreSQL
                     Storage
Hit Stats Log

       Id             Hits       Visitors Readers
...   1001
             Size
                       7            4        3
                                                       A    B        C     D     1002 1003 1004      ...




                             Hit Stats Table
Index File                    Id                     Id                    Id
                     ...     1001
                                        Offset
                                                    1002
                                                            Offset
                                                                          1003
                                                                                      Offset   ...



Data File                    Hits       Visitors Readers     Hits        Visitors Readers
                     ...      7            4        3        15             3        2
                                                                                               ...



Uniques        ...   A       B      C     D      1002 1003 1004      B     C      E     1003 1005    ...
Log
                     id   hits visitors read                                 id    hits visitors read
            ...     101    7      3       2
                                               A     C      D 102 104
                                                                            102     5      2       2
                                                                                                        B     C 103 104   ...

            Index
                       id                id                      id
             ...      101
                              offset
                                        102
                                                   offset
                                                                103
                                                                          offset                        ...
Old Table




            Data
                      hits    visitors readers      hits     visitors readers
             ...      10         3        2         20          4        3                              ...
            Uniques
             ...      B      C      D    101 102            A         C      D     E     101 102 105                ...


            Index
                       id                id
             ...              offset               offset
New Table




                      101               102

            Data
                      hits    visitors readers      hits     visitors readers
             ...      17         4        3         25          5        ?

            Uniques
             ...      A      B      C     D        101 102 104               A     B      C      D       E
Счетчик Hit Stats

                      Журналы             Записи
                   День     Месяц     День     Месяц

 Число ключей     1,5 M      5M       3M        27 M

     Число
                   80k      700k      10k       10k
  посетителей

Размер таблицы    300 Mb    4 Gb     400 Mb     8 Gb


Время пересчѐта   10 сек.   4 мин.   20 сек.   30 мин.
GET http://ljstats-host/journal_stats?date=2010-09&journal_id=1001

                                                                   Binary Search
                                   journal_stats-2010-09.idx
...                                                  Id
                                          ...                 Offset        ...
journal_stats-2010-08-31.idx                        1001
journal_stats-2010-08-31.dat       journal_stats-2010-09.dat
journal_stats-2010-09.idx
journal_stats-2010-09.dat                       1           2           5
journal_stats-2010-09-01.idx                 Hits: 1     Hits: 2     Hits: 1
journal_stats-2010-09-01.dat
                                    ...    Visitors: 1 Visitors: 2 Visitors: 1
                                                                                  ...
...                                        Readers: 1 Readers: 0 Readers: 1

                                                                           JSON

                                   {
                                       "status" : "Ok",
                                       "result" : [
                                         ["time_id", "hits", "visitors", ...],
                                         [1, 1, 1, 1],
                                         [3, 2, 2, 0],
                                         [5, 1, 1, 1],
                                         [6, 4, 3, 0],
                                         ...
                                         [24, 1, 1, 0]
                                       ]
                                   }
LiveJournal.com Ratings

                        Журналы               Записи


  Число ключей       Все из статистики            2000


 Размер на диске          700 Mb                  1 Mb


Интервал пересчѐта         день                   час


 Время пересчѐта                   ≈ 15-20 мин.
LiveJournal.com Stats
               File System
                  Cache         Counter 1     If-Modified-Since



LJ.com                               Apache
                                               nginx 1




                                                                  BIG-IP
                                Counter 2
         Heartbeat                             nginx 2
                                    Apache
                                                      Nginx
                                                      Cache
 Collector 1      Collector 2



                   DRBD
Контакты

dmitry.nikolaev@sup.com

Mais conteúdo relacionado

Destaque

Midia kit :: Click Party Brasil
Midia kit :: Click Party BrasilMidia kit :: Click Party Brasil
Midia kit :: Click Party BrasilLucas Teixeira
 
Cómo insertar una presentación slideshare en la herramienta 2.0
Cómo insertar una presentación slideshare en la herramienta 2.0Cómo insertar una presentación slideshare en la herramienta 2.0
Cómo insertar una presentación slideshare en la herramienta 2.0hermalazarte
 
El Sensor Digital y el Factor de Crop
El Sensor Digital y el Factor de CropEl Sensor Digital y el Factor de Crop
El Sensor Digital y el Factor de CropJose Vacaflor
 
Foco no Índice de Qualidade!
Foco no Índice de Qualidade!Foco no Índice de Qualidade!
Foco no Índice de Qualidade!Enrico Cardoso
 
Información general
Información generalInformación general
Información generalclaubiquigu
 
Trenta mosse con gli origami
Trenta mosse con gli origamiTrenta mosse con gli origami
Trenta mosse con gli origamiGIOVANNI LARICCIA
 

Destaque (11)

Midia kit :: Click Party Brasil
Midia kit :: Click Party BrasilMidia kit :: Click Party Brasil
Midia kit :: Click Party Brasil
 
Cómo insertar una presentación slideshare en la herramienta 2.0
Cómo insertar una presentación slideshare en la herramienta 2.0Cómo insertar una presentación slideshare en la herramienta 2.0
Cómo insertar una presentación slideshare en la herramienta 2.0
 
Exceso de calorías
Exceso de caloríasExceso de calorías
Exceso de calorías
 
Branded content
Branded contentBranded content
Branded content
 
El Sensor Digital y el Factor de Crop
El Sensor Digital y el Factor de CropEl Sensor Digital y el Factor de Crop
El Sensor Digital y el Factor de Crop
 
Inovacaoem servicoenescon2012
Inovacaoem servicoenescon2012Inovacaoem servicoenescon2012
Inovacaoem servicoenescon2012
 
Foco no Índice de Qualidade!
Foco no Índice de Qualidade!Foco no Índice de Qualidade!
Foco no Índice de Qualidade!
 
Aula 3 para acetato
Aula 3 para acetatoAula 3 para acetato
Aula 3 para acetato
 
Información general
Información generalInformación general
Información general
 
Julia m. sabrina
Julia m. sabrinaJulia m. sabrina
Julia m. sabrina
 
Trenta mosse con gli origami
Trenta mosse con gli origamiTrenta mosse con gli origami
Trenta mosse con gli origami
 

Mais de yaevents

Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...yaevents
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндексyaevents
 
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...yaevents
 
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексi-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексyaevents
 
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...yaevents
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
 
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...yaevents
 
Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндексyaevents
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндексyaevents
 
Разработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, ShturmannРазработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, Shturmannyaevents
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...yaevents
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...yaevents
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebookyaevents
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...yaevents
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Googleyaevents
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...yaevents
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...yaevents
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигмаyaevents
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...yaevents
 

Mais de yaevents (20)

Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
 
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
 
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексi-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
 
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
 
Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндекс
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндекс
 
Разработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, ShturmannРазработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, Shturmann
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Google
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигма
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...
 

Система статистики и рейтингов LiveJournal.com

  • 1. Система статистики и рейтингов LiveJournal.com Николаев Дмитрий, <SUP>
  • 2. LiveJournal.com Stats Статистика посещений журналов и записей (за час, за день, за месяц):  по хитам,  по посетителям,  по читателям. Статистика комментариев к записям. Списки недавних посетителей — «Мои гости». Другие счётчики. Рейтинги журналов и записей за период.
  • 3. Входные данные Количество соединений с LJ.com 1000 Скорость поступления событий 800-1200 в сек Отфильтрованные события ≈ 50% Количество сообщений за сутки 50 ∙ 106 Объем данных за сутки 16 Gb
  • 4. LiveJournal.com Stats LJ.com Collector Server Counter Server Counters Hits Apache mod_ljstats Comments ... Mobile File ... Storage Events Filter Reader Database Server Events PostgreSQL Storage
  • 5. Hit Stats Log Id Hits Visitors Readers ... 1001 Size 7 4 3 A B C D 1002 1003 1004 ... Hit Stats Table Index File Id Id Id ... 1001 Offset 1002 Offset 1003 Offset ... Data File Hits Visitors Readers Hits Visitors Readers ... 7 4 3 15 3 2 ... Uniques ... A B C D 1002 1003 1004 B C E 1003 1005 ...
  • 6. Log id hits visitors read id hits visitors read ... 101 7 3 2 A C D 102 104 102 5 2 2 B C 103 104 ... Index id id id ... 101 offset 102 offset 103 offset ... Old Table Data hits visitors readers hits visitors readers ... 10 3 2 20 4 3 ... Uniques ... B C D 101 102 A C D E 101 102 105 ... Index id id ... offset offset New Table 101 102 Data hits visitors readers hits visitors readers ... 17 4 3 25 5 ? Uniques ... A B C D 101 102 104 A B C D E
  • 7. Счетчик Hit Stats Журналы Записи День Месяц День Месяц Число ключей 1,5 M 5M 3M 27 M Число 80k 700k 10k 10k посетителей Размер таблицы 300 Mb 4 Gb 400 Mb 8 Gb Время пересчѐта 10 сек. 4 мин. 20 сек. 30 мин.
  • 8. GET http://ljstats-host/journal_stats?date=2010-09&journal_id=1001 Binary Search journal_stats-2010-09.idx ... Id ... Offset ... journal_stats-2010-08-31.idx 1001 journal_stats-2010-08-31.dat journal_stats-2010-09.dat journal_stats-2010-09.idx journal_stats-2010-09.dat 1 2 5 journal_stats-2010-09-01.idx Hits: 1 Hits: 2 Hits: 1 journal_stats-2010-09-01.dat ... Visitors: 1 Visitors: 2 Visitors: 1 ... ... Readers: 1 Readers: 0 Readers: 1 JSON { "status" : "Ok", "result" : [ ["time_id", "hits", "visitors", ...], [1, 1, 1, 1], [3, 2, 2, 0], [5, 1, 1, 1], [6, 4, 3, 0], ... [24, 1, 1, 0] ] }
  • 9. LiveJournal.com Ratings Журналы Записи Число ключей Все из статистики 2000 Размер на диске 700 Mb 1 Mb Интервал пересчѐта день час Время пересчѐта ≈ 15-20 мин.
  • 10. LiveJournal.com Stats File System Cache Counter 1 If-Modified-Since LJ.com Apache nginx 1 BIG-IP Counter 2 Heartbeat nginx 2 Apache Nginx Cache Collector 1 Collector 2 DRBD