- PVSM.RU - https://www.pvsm.ru -
Отшумели страсти после моей первой статьи [1] на Хабре.
Тема была о веб сайте на ассемблере, так что нет ничего удивительного в количестве комментариев к статье, а также в хабраэффекте на сайте. В течение первых нескольких суток тысячи людей посетили демо сайт AsmBB.
Сайт уже был один раз под подобным наплывом посетителей — когда в августе кто-то опубликовал ссылку на сайт одновременно в Твиттер, ФБ и Реддит.
Но, судя по счетчику посещений, Хабрахабр оказался вдвое круче буржуйских сайтов и в этот раз демо сайт был нагружен значительно больше чем в прошлый раз.
Как и ожидалось, чудо свершилось. Несмотря на то, что
Посмотрим как выглядит хабра–эффект изнутри:
Статья на Хабре была опубликована 2-го января. За те нескольких дней, пока длился хабраэффект, она была просмотрена около 40000 раз. Некоторое число людей, прочитавших статью, посетили и демо AsmBB. Эти посещения выглядят так:
Дата | Посетители | Страницы | Запросы | Траффик | Время ЦПУ [с] |
Время обс. запр. [ms] |
---|---|---|---|---|---|---|
02 янв | 637 | 4461 | 12224 | 63.06 MB | 152 | 12.43 |
03 янв | 5402 | 36453 | 84876 | 385.48 MB | 795 | 9.37 |
04 янв | 1961 | 14531 | 33445 | 171.60 MB | 325 | 9.72 |
05 янв | 743 | 5220 | 12504 | 53.17 MB | 170 | 13.6 |
06 янв | 343 | 2370 | 5421 | 23.21 MB | 69 | 12.73 |
В сумме | 9086 | 63035 | 148470 | 696.52 MB |
Из графика нагрузки CPU видно, что веб-сайт 3-его января был нагружен приблизительно наполовину. То есть он мог бы обслужить примерно 180 000 запросов или 12000 посетителей в сутки, прежде чем сервер начал тупить из за ограничений на CPU.
В пиках посещаемости веб сервер (Apache) запускал не более 6 FastCGI процессов форума. Это означает и 6 одновременных коннектов к БД.
SQLite, несмотря на пессимистичные мнения в комментариях, вела себя все время прекрасно, особо не замедляясь. При том что движок форума активно пишет в БД не только когда посетители публикуют посты, но и когда только читают. Там ведется статистика посещении, есть счетчик просмотров на каждый пост, для каждого гостя или пользователя записывается время последней активности. Все это постоянно пишется в БД.
Настойки SQLite такие:
PRAGMA journal_mode = WAL;
PRAGMA foreign_keys = TRUE;
PRAGMA synchronous = OFF;
PRAGMA threads = 2;
PRAGMA secure_delete = FALSE;
Вполне ожидаемо, посетители были на 90% из России, Украины и Белоруссии.
Должен отметить что эти посетители оказались намного активнее и вовлеченнее, чем западные. Это мне очень понравилось, потому что помогло протестировать сайт не только на скорость работы, но и на недостатки кода. В процессе хабра-эффекта и обсуждения статьи были выявлены и исправлены несколько багов, в том числе и критических.
Зарегистрировались 32 новых пользователей, которые написали несколько десятков постов, пытаясь протестировать форум на прочность.
Спасибо ребята! Вы очень помогли.
Вот и список исправлений, которые были сделаны во время хабраэффекта. Там не только багфиксы, но и новые функции:
Насчет п.4 надо сказать, что я решил сделать эту функцию, измеряя время реализации, как доказательство того что код на ассемблере намного легче поддерживать, чем это принято считать.
Время реализации – ровно 78 минут. Наверное это несколько больше чем на ЯВУ, но все же вполне нормальный результат.
А выводы делайте сами.
Автор: johnfound
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/habrae-ffekt/232184
Ссылки в тексте:
[1] первой статьи: https://habrahabr.ru/post/318916/
[2] хостинг: https://www.reg.ru/?rlink=reflink-717
[3] Ошибка, вызывающая исключение: https://asm32.info/fossil/repo/asmbb/info/18ace583a3fc0624
[4] Ошибка в кэшировании аватаров на стороне клиента: https://asm32.info/fossil/repo/asmbb/info/d86f8027078fe46a
[5] Кэширование HTML постов: https://asm32.info/fossil/repo/asmbb/info/8b5016ce39246bea
[6] Источник: https://habrahabr.ru/post/319028/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.