11 января в 14:28

Итоги: что сильнее – ассемблер или Хабраэффект?

Отшумели страсти после моей первой статьи на Хабре.


Тема была о веб сайте на ассемблере, так что нет ничего удивительного в количестве комментариев к статье, а также в Хабраэффекте на сайте. В течение первых нескольких суток тысячи людей посетили демо сайт AsmBB.


Сайт уже был один раз под подобным наплывом посетителей — когда в августе кто то опубликовал ссылку на сайт одновременно в Твиттер, ФБ и Реддит.


Но, судя по счетчику посещений, Хабрахабр оказался вдвое круче буржуйских сайтов и в этот раз демо сайт был нагружен значительно больше чем в прошлый раз.


Как и ожидалось, чудо свершилось. Несмотря на то, что хостинг предельно слабенький (я его взял такой специально), несмотря на то, что сайт использует БД SQLite, которую все считают очень медленной, форум не упал. Он даже не замедлился. Все время сайт работал исправно и обслуживал всех посетителей.


Посмотрим как выглядит Хабраэффект изнутри:


Статистика посещений


Статья на Хабре была опубликована 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 новых пользователей, которые написали несколько десятков постов, пытаясь протестировать форум на прочность.


Спасибо, ребята! Вы очень помогли.


Вот и список исправлений, которые были сделаны во время Хабраэффекта. Там не только багфиксы, но и новые функции:


  1. Ошибка, вызывающая исключение
  2. XSS уязвимость и еще одна ошибка вызывающая исключение
  3. Ошибка в кэшировании аватаров на стороне клиента
  4. Кэширование HTML постов

Насчет п.4 надо сказать, что я решил сделать эту функцию, измеряя время реализации, как доказательство того что код на ассемблере намного легче поддерживать, чем это принято считать.


Время реализации – ровно 78 минут. Наверное это несколько больше чем на ЯВУ, но все же вполне нормальный результат.


Выводы


А выводы делайте сами.




Спасибо gearbox за помощь в редактировании.

John Found @johnfound
карма
78,0
рейтинг 0,0
Инженер автоматизации
Самое читаемое Разработка

Комментарии (147)

  • +5

    Хостинг предельно слабенький это какой? Без этого выводы делать проблематично.


    У меня тут есть не самый мощный VDS с не самыми оптимизированными сайтиками на не самых оптимизированных Python 2/3 и примерно 120 тысячами запросов в сутки с околонулевой нагрузкой на проц, так что даже не знаю

    • 0

      Я не писал насчет хостинга, потому что это обсуждалось в первой статьи. Он не VDS, а shared hosting.


      Подробности можно увидеть и на сайт провайдера: план СуперСтарт

      • +2
        С shared hosting проблема в том что его производительность сложно померить. Если VDS или работает или нет, то shared hosting может упасть не по вашей вине, а от загрузки соседа или пережить толпу народа. Лимиты тоже мало что скажут, все будет зависит от какой конфигурации эти лимиты.
    • 0
      Судя по цифрам, у ассемблерного сайта средняя загрузка процессора была 1% а самый тяжелый день.
      • +2
        Это CPU shared hosting'а, а shared hosting даже с честными лимитами сложно мерить в «попугаях».
  • 0

    А прямо сейчас мне вместо css-файла выдали 500 Resource Limit Is Reached, забава)

    • 0

      Это на https://board.asm32.info ?

      • 0

        Да. После F5, правда, таки загрузился, но всё равно забава)

        • 0

          Это и правда интересно. В логах не могу найти… :(

          • +1

            За некоторыми shared-хостингами я замечал, что они почему-то не все логи клиенту отдают и иногда приходится в техподдержке подробности спрашивать

            • +2

              И спрошу! Потому что судя по cpanel менажер процессов, никакие превышения лимитов не было.

  • +6
    siege https://board.asm32.info/ -c 100 -b 
    

    и через секунду:
    HTTP/1.1 200 0.32 secs: 3312 bytes ==> GET /
    HTTP/1.1 200 0.34 secs: 3312 bytes ==> GET /
    HTTP/1.1 200 5.33 secs: 3312 bytes ==> GET /
    HTTP/1.1 200 5.33 secs: 3311 bytes ==> GET /
    HTTP/1.1 508 5.35 secs: 7287 bytes ==> GET /
    HTTP/1.1 508 5.35 secs: 7287 bytes ==> GET /
    HTTP/1.1 508 5.35 secs: 7287 bytes ==> GET /


    Вас лимиты хостера спасают.
    • +1

      А это наверное защита от DDOS. Стоит там такая на сервере. И правильно стоит. Через siege, это уже не хабраэффект, а DDOS называется.

      • +10
        Так, а где гарантия что значительную часть пользователей просто не выпилила эта самая защита от DDOS? Вы ведь этого вообще даже не увидите.
      • +7

        Вы преувеличиваете, 100 конкурентных запросов — это даже не DoS.
        Я бы сказал, что это защита от нагрузки, а не от DDoS.
        Для примера wrk c более щадящими параметрами:


        wrk -t 5 -c 50 -d30s --timeout 2000 https://board.asm32.info/
        Running 30s test @ https://board.asm32.info/
          5 threads and 50 connections
          Thread Stats   Avg      Stdev     Max   +/- Stdev
            Latency   936.27ms    2.07s   13.62s    90.29%
            Req/Sec    44.45     19.87   131.00     68.48%
          6553 requests in 30.09s, 69.36MB read
          Non-2xx or 3xx responses: 5097
        Requests/sec:    217.75
        Transfer/sec:      2.30MB

        5097 из 6553 запросов (сделанных за 30 секунд) отвалились...

        • 0
          Вы преувеличиваете, 100 конкурентных запросов — это даже не DoS.

          Из одного клиента? Это конечно не DDoS, но вполне себе DoS.

          • +8

            Ну, от одного клиента — это ведь просто для теста. Да и уменьшение конкурентности до 5 никак не помогло. По сути на хостинге rate limiter примерно на 50 rps настроен, больше он не пропустит. В принципе для shared-хостинга это приемлемо, надо же ему как-то предотвратить возможность нагруженные проекты хостить на таких тарифах :-)

  • +1
    Если хотите захудалый дешевый впс, могу предоставить и помочь настроить (если не сложно замучено там).

    Хостеры — это лишняя переменная в нормальной статистике, со своим iptables и прочим :)
    • 0

      Спасибо, но нет. У меня просто не нужды в VPS, иначе я купил бы.

      • +4
        Я думаю речь о том чтобы проверить производительность на VPS, где все более-менее честно, чем на шаред хостинге, характеристики, которого могут «гулять» плюс-минус порядок.
        • +1
          Да, конечно все так. Только для меня этот проект не так уж и важен, чтобы доказывать всему миру как он крут. Поэтому точность статистики для меня важна постольку-поскольку.

          Но если у вас есть VPS и хочется точная статистика – то установка AsmBB дело на 5 минут (буквально).
          • +7
            спасибо. завтра поставлю и погоняю на нагрузках. дюже интересно :).
    • 0
      тоже предлагал ТС vps бесплатно, отказался, аргументируя тем, что впс изначально круче шаред хостинга. я же до Вашего аргумента не дошел. действительно — эксперимент был бы чище, но и нагрузка потребовалась бы круче.
      • +1
        но и нагрузка потребовалась бы круче.

        Нагрузку несложно создать, использую силениум и прочие автоматизированные тулзи, которые будут эмулировать реальных пользователей с реальными веб браузерами.
        • +2
          завтра и можно будет проверить на голой впс, которая смотрит в мир :). без защиты от ддоса, без кэширования, на прямом проксировании (ip к сожалению один, но nginx будет просто передавать все на впс). и инструментов анализа на впс больше. так что практический эксперимент поставлен будет.
          • 0
            VPS тоже разные бывают. Мы же не видем что прячет хостер под 1 CPU, выделенному для сервера. это может быть и половина CPU от i7 или полноценный ЦП от E5. HDD также может быть загружен «соседями» по хосту VPS-а и т.д.

            Есть хостеры дающие такие выделенные машины:

            AMD Athlon 64 5600+ X2
            HDD2x HDD 300 GB SATA
            RAM2x RAM 2048 MB DDR2
            за 20 евро

            или

            Intel Core i7-920
            HDD2x HDD 750 GB SATA
            RAM4x RAM 2048 MB DDR3

            за 26.

            Но это уже для совсем «чистого» эксперимента)
            • 0
              Нет. Речь шла об «очень слабой ВПС», более того, для чистоты эксперимента нужны нормальные средства контроля и гарантированное отсутствие анти-ддосов. Для этого «слабая» впс и предлагалась. От окружения ВПС ничего не зависит — его действие в любом случае попадет на контроль.
              Тем более, что в моем случае хостер — это я сам :). И я _точно_ знаю что у меня под капотом лежит.
              • 0

                Так Вы устроили нагрузочное тестирование или не взлетело?

                • +1
                  К своему стыду не устроил. На НГ я запустил новые серваки и мигрировал на них 1с-кластер со старых. Вот оно повело себя нештатно:( и выяснилось после 2х рабочих дней (т.е. просто откатиться не получится). пришлось очень быстро мигрировать обратно и сейчас я разбираюсь почему так. ибо старое оборудование в других целях уже запланировали использовать. соотв рукли мне плешь клюют. Прошу простить мне мой французский. говорю как есть. Надеюсь до воскресения разобраться с кластером и заняться более важными своими делами.
  • 0
    SQLite, несмотря на пессимистичные мнения в комментариях, вела себя все время прекрасно, особо не замедляясь.

    Вела себя прекрасно на каком количестве записей?

    • 0

      В какой таблице?

      • +6
        Да хотя бы, сколько записей в таблицах тем, постов и пользователей? Хотя бы в примерных порядках, единицы, сотни, тысячи, сотни тысяч.
        • 0

          Это можно по демке оценить… Тем меньше 100, постов примерно 15100 (в основном все в рамках одной темы).

          • 0

            Да, так и есть. :)
            Размер БД приблизительно 53MB.

  • +6
    Прежде всего спасибо за проделанную работу, это очень круто!

    Теперь критика постараюсь конструктивно.
    У меня выводы неутешительны.
    Отсутствие библиотек, документации и самое главное сообщества по теме <<Ассемблер для WEB>> хоронит эту идею на корню.
    Вы говорите про 78 минут на реализацию кеширования, в любом языке ориентированном на web на это уходит пару минут, если не секунд и все это занимает одну строчку. Так как есть библиотеки кеширования.
    Выбирай какую хочешь memcached, redis и тд, базу данных, файловую систему или напрямую оперативную память.
    Проблемы санитизации, фильтрации, шаблонизации и ещё куча связанных с web проблем придется решать самому.
    А это дикие сроки реализации.
    Даже для микросервисов не подойдет из за этой проблемы.
    Мне с трудом представляется картина как я вылавливаю задачи из beanstalk и многопоточно рассылаю пуши в firebase в зависимости условий из удаленной базы данных.
    Причем все это должно быть написано на ассемблер.
    • +2
      так может так и появится среда таким способом? возникнет диалог, обмен мнениями. сообщество в конце-концов. история многих црм начиналась с «велосипеда на костылях», но с решением каких-то текущих и значимых на тот момент задач
      • +3
        Если был смысл это уже бы произошло. Думаю эту идею постигнет та же участь что и идея с програмированием сайтов на c++.
        Хотя на с++ есть даже довольно удобные фреймворки и библиотеки такие как CppCMS (этого зверя даже пошупал), Wt, POCO и др.
        И несмотря на это разработка на сайта на C++ это адов ад, по сравнению с разработкой например на Ruby on Rails.
        А про ассемблер вообще молчу. Он был мейнстримом ещё в конце 70 годов прошлого тысячилетия.
        Уже тогда люди понимали что нужна увеличивать скорость разработки и появился Си.
        Сейчас уже есть языки которые совместили удобство разработки с производительностью и высокой скоростью компиляцию.
        Это Go и Rust думаю будущее за ними.
        На Go уже полно фреймворков которые позволяют писать что угодно в короткие сроки.
        На Rust же можно сделать аналог демо проекта автора и если не уложится в те же ограничения по оперативной памяти и процессорному времени то очень серьезно приблизится.
        Суть тут такова что нужно сохранить золотую середину между временем разработки и производительностью.
        Программирования сайтов на ассемблер это кардинальный уход в сторону производительности, с кардинальным увеличением времени разработки.
    • +1
      Вы говорите про 78 минут на реализацию кеширования, в любом языке ориентированном на web на это уходит пару минут, если не секунд и все это занимает одну строчку. Так как есть библиотеки кеширования.

      Так… это самое… я не видел, как автор реализовал свое кеширование, но если в виде отдельного встраиваемого модуля (если нет, то он ССЗБ), то у него теперь в любом другом проекте на асме тоже займет пару минут на реализацию, так как теперь есть библиотека.
      • 0

        Там речь идёт о добавлении дополнительной колонки в таблицу, чтобы в БД сохранять результат парсинга Markdown в ней. К чести автора, он ничего не скрывает и пишет на асме довольно понятно: вот diff.

  • +1
    В пиковый день сервер получил 84.876 запроса. Это немного меньше 1 запроса в секунду в среднем.

    Какая была пиковая нагрузка и как рост нагрузки влиял на скорость обработки запросов, это ведь важно.

    Если все эти запросы были в течении получаса и деградация времени отклика была не значительной — это одно, а обработка 1 запроса в секунду — совсем другое.
  • 0

    Нашёл багу:


    1. В строке поиска пишем любое встречающееся слово
    2. В результатах нажимаем на название найденной ветки (то что после "Thread: " и до "Post: #_такойто")
    3. Имеем картинку "404" .
      ( под зарегистрированным пользователем)
    • +1

      ~Странно, не могу повторить. Можно рассказать подробнее?~


      Да, повторил. Сделаю.

      • 0

        Исправил. Баг был в темплейтах.

  • +3
    За те нескольких дней, пока длился Хабраэффект, она была просмотрена около 40000 раз.

    Откуда эта цифра? :)
    У вас уников нету 10к.

    То есть он мог бы обслужить примерно 180 000 запросов или 12000 посетителей в сутки, прежде чем сервер начал тупить из за ограничений на CPU.

    И всего? :)
    Наверно, сайт на каком-то мегапупер крутом фреймворке? :)
    Или все же на ассемблере? :)

    У вас иногда проскакиевает.
    Resource Limit Is Reached

    The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.


    Хабраэффект — это 5К посетителей? :)
    У кого когда он наступал? :)
    • 0
      За те нескольких дней, пока длился Хабраэффект, она была просмотрена около 40000 раз.

      Это статья на хабре была просмотрена 40К раз.


      У хостинга есть лимит на 30 минут процессорного времени в сутки. Если этого лимита не было, можно обработать 180К * 48 = 8640000 запросов в сутки, на том же сервере.

      • 0
        Ааа.
        Тогда норм. :)

        С ростом базы нагрузка видимо вырастет (хотя мне раньше хостинг базу считал отдельно, не в процессорном времени).
  • –12
    Off top: готов принять удар, но народ учить нужно — не БелОруссии, а Беларуси. Пишите и говорите правильно, уважайте соседей :)
    • +1

      Спасибо. Только синтаксическая проверка подчеркивает красным…

    • +6

      /offtopic


      Соединенное королевство Великобритании и Северной Ирландии, Нидерланды, США, и т.п. — их всех как-то мало волнует, что их страны в разговорной речи на русском языке называют не так, как в офицальных документах, и вообще "неправильно". И только ряд жителей из пары ближайших географических соседей очень переживают почему-то.

      • +1
        Это примерно как в/на Украине (мне плевать, кто как пишет) :)

        +1 за Белоруссию.

        П.С.
        Киев всю жизнь транслитерировался как Kiev на латиницу.
        А сейчас приняли чудопостановление, чтобы транслитерировали Kyiv.
        И что, всем кинуться и выполнять чьи-то причуды? :)
        • –9
          Не одно и то же. Найдите хоть один официальный документ на русском языке где написано Республика Белоруссия. То что вы пишите как хотите говорит лишь о вашей безграммотности
          • +10
            На мой скромный взгляд Республика Беларусь — Белоруссия аналог Российская Федерация — Россия. Т.е. Белоруссия это прижившееся в русском языке название страны, не совпадающее с официальным. Это нормально, не следует на это обижаться.
          • +1
            В русском языке можно и так и так — https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D0%BB%D0%BE%D1%80%D1%83%D1%81%D1%81%D0%B8%D1%8F
            наследие союза. Но если белорусы обижаются — не вопрос, учту (вопрос ко мне, так как именно эта правка — моя)
          • +3
            Найдите хоть один официальный документ на русском языке, где написано Дойчланд, Эспанья, Юнайтед Кингдом и далее по тексту.

            Кстати, можете поискать тот же Дойчланд на английском или французском языке.

            И далее, и подобное.
            • 0
              Если честно не понял о чем вы. Причём здесь русский язык к английским названиям? Беларусь это написано не на беларусском языке
              • +13
                В русском языке существует простое название страны: Белоруссия. Очень давно существует. раньше была «Белая Русь» — искать лень, но этому названию в русском языке много столетий. Равно как и устоявшееся словосочетание «на Украине». По-русски правильно писать Узбекистан и Алма-Ата, а столица Эстонии называется Таллин. Да, в последнее время какие-то странные люди зачем-то бегут впереди паровоза, коверкая сложившиеся минимум десятилетиями (а то и веками) правила русского языка. Только потому, что этого кому-то захотелось. Но это вовсе не значит, что все грамотные русские с этим согласны. некоторым вон и кофе — «оно» 8-)

                Топонимика не совпадает с самоназваниями стран и городов в массе мировых языков. Русский тут вовсе не чемпион! Потому я и привел примеры. Французы называют Германию Аллеманью, но немцы почему-то не тычут на французских форумах этим в лицо всем подряд, требуя обязательно называть их дойчландом. Не так ли? Любой найдет сколько угодно аналогичных примеров по всему миру. И никого это не парит. Даже тех же белорусов кто только и как только не называет.

                И только от русских почему-то прям вот требуют писать именно так, как кому-то хочется, и не иначе!
                • +2
                  Угоржчина.
                  • 0

                    Модьярорсаг

              • +1
                Это все игры националистов в 89-91. Так же как «Таллин» с двумя «н», например.
          • +10
            > То что вы пишите как хотите говорит лишь о вашей безграммотности
            > безграммотности
            Ясно.
            Ещё почитайте вот про пунктуацию.
            И больше не учите других людей грамотности.
          • 0
            Было написано «Белоруссия», а не «Республика Б.», так что претензия — не в кассу. Все три названия — что Белоруссия, что Беларусь, что Республика Беларусь — используются повседневно.
        • +2
          Киев = Kiev
          Київ = Kyiv
          При прочтении в слух разница становится заметной :)
      • –5
        Англичан волнует как другие народы говорят на английском и вообще заявляют, что те же американцы говорят не на английском, а на американском. Нас не волнует как на немецком нас или английском называют, нас волнует как на русском языке ибо русский язык у нас государственный (в отличие например от Украины, где люди так же хорошо говорят на русском) и если брать культурных людей, то русский в Минске практически не отличается от русского в Москве, поэтому хотелось бы, что бы на общем языке страну называли правильно, не более
        • +3
          Ну так я говорю на русском в Украине. :) ru_ua
          На русском в Белоруссии можете по своему говорить. :) ru_by

          Ну и я считаю, что есть более важные вопросы, а не выяснять отношения в этом вопросе. :)
          • –7
            Могу объяснить в чем разница — в Украине нет официальных документов на русском языке, где сказано как Украина пишется и произносится на русском. А в Беларуси есть. Т.е. в русском языке можно назвать было Украину как угодно. Например немцы Россию называют вообще усланд, а Беларусь — белый усланд. Но у нас нет документов, где говорится как на немецком называть страну. Т.е когда вы говорите на украинском, то можете нас называть хоть Бульбаруссия, ваше право :) А вот на русском языке будьте добры :)
            • +7
              То есть, официальный документ где-то в Белоруссии может менять правила русского языка? Только касательно связанных с самой Белоруссией слов, или, может быть, еще каких-то? А то вдруг мы тут все неграмотные, а никто и не в курсе.

              Кстати, как я понимаю, правила немецкого языка остались неприкосновенны. Интересно, за что немцам такой почет.
              • –7
                А покажите мне какое ппавило русского языка было нарушенно? Имя собственное когда нибудь слышали про такое?

                P.S. Такое ощущение, что я в группе подобно МДК где куча школьников пытается скорее написать комментарий и плевать на то, что бы подумать
                • +7
                  А что такое «правила языка», по-вашему? Тем более — такого сложного, чтоб не сказать «прецедентного», как русский?

                  Это просто какая-то — всегда частичная — попытка систематизировать сложившиеся преобладающие обычаи. Вот правильно про кофе говорить «он». Было лет 300 примерно. Потом, в связи с массовой дебилизацией теоретически грамотного населения, в обычай вошло «оно». Тут имею в виду крайне прискорбную ситуацию, когда подавляющая часть населения формально является грамотной, имеет за спиной аттестат с положительной оценкой по русскому языку за 10 лет изучения, но не в состоянии выучить даже простейших вещей.

                  Но с Белоруссией — тут пока что мимо. Возможно, когда-нибудь потом, лет через много, мозг людям за… бьют достаточно, чтоб Белоруссия стала Беларусью. Но пока в этом вопросе люди еще массово придерживаются правил русского языка. Кто бы что бы ни писал, хоть из Белоруссии, хоть из Института Русского Языка (тьфу на них, ренегады 8-)

                  P.S. Вас это, возможно, удивит, но в группе МДК я не был ни разу в жизни. Равно как и в любой другой группе на любом из подобных сайтов.
                  А насчет скорее — не допускаете мысли, что кто-то может довольно быстро думать, и не менее быстро набивать результат? 8-)
                  • +2
                    Вот правильно про кофе говорить «он». Было лет 300 примерно. Потом, в связи с массовой дебилизацией теоретически грамотного населения, в обычай вошло «оно»

                    История со словом "кофе" вообще замечательная.
                    Рекомендую почитать книгу В.Долопчева 1909 года "Опыт словаря неправильностей в русской разговорной речи". На с. 111 он пишет, что "кофе" в мужском роде употреблять (прошу прощения за каламбур) неправильно. А правильно — в среднем.


                    Язык меняется. Вот было кофе среднего рода, потом стало мужского. Потом, может, опять станет среднего. Ничего страшного в этом нет.

                    • +2
                      Если не забуду — почитаю 8-)

                      Однако, я уже читал кой-чего… Кофе раньше назывался «кофий» — слово в русском мужского рода. К тому же, раньше его пили дворяне, основным языком двора был французский, а в нем cafe мужского рода.

                      Ну и про изменение — да, конечно, язык меняется и развивается. но происходит это внутри страны, силами самих носителей. Чтоб язык менялся под диктовку извне — это нонсенс.
                • +3
                  Соединительная гласная в русском языке — «о». Белоруссия явно слово с двумя корнями. Между ними должна стоять «о».
              • –1
                Мне в общем-то самому по большей части без разницы, как называют, но:
                1. Причем тут правила русского языка, если имена собственные им не подчиняются.
                2. http://www.classbase.ru/oksm в общем-то достаточно официальный перечень, утвержден самой же Россией, и там черным по белому указано краткое название Беларусь, и полное Республика Беларусь.
                • +5
                  Имена собственные не подчиняются? Давайте писать «билурасея». или «гирманея», чтоб братьям обидно не было.

                  Еще раз: правила — это (всегда неполная) попытка систематизировать сложившийся обычай. Обычай — это и есть правило. Плохо, когда правила диктует неграмотная масса, но это всегда внутри страны.

                  На тему пункта два — да мне пофигу, кто и что там придумал. Мне это все не нравится, как не нравится и кофе среднего рода. Но уж точно не думаю, что кто-то имеет право диктовать употребление таких слов…

                  И еще. Ни в одном официальном классификаторе не найти и половины слов, которые повсеместно слышны на улице 8-) И вполне по-русски, меж тем. У нас же тут не официальный документ, верно? Живые люди неформально общаются, разве не так? Тогда к чему эти вечные директивы про «в/на» или «о/а»?
                  • –1
                    Я имею в виду, что нет смысла применять правила к названиям вообще. Если будет страна Билурасея, то будет, и никто этого не отменит.
                    С Беларусью не было никакой смены правил, произошла смена названия, константу в коде перебили буквально что.

                    Берега слоновой кости уже 30 лет как нет, теперь он КОТ Д'ИВУАР, что вообще ни по каким правилам русского языка не является нормальным, но всем плевать, тк это название страны.
                    Нидерланды тоже Голландией называли, но это не делает название Голландия правильным.

                    И я не говорю, что тут кто-то что-то запрещает, просто я не понимаю, когда россияне пытаются упирать, что используемое ими слово является единственно верным, когда в других случаях почему-то проблем с переименованиями не было.

                    И Беларусь\Белоруссия также не имеет никаких отношений к в\на, тк правила предлогов это уже ПРАВИЛА русского языка, там только правила за это и отвественны. Не говоря уже про кофе и прочее.

                    Если завтра Беларусь официально переименуют в Бульбостан, вы ведь не будете говорить, что название страны осталось Белоруссия, потому что таковы правила русского языка?
                    • +3
                      А почему не применять? Вот например пусть будет цвет: белый и синий. Как — с точки зрения русского — будет правильнее: бело-синий или белАсиний?

                      кот д'ивуар — это тот же берег, что и был, просто на французском. к тому же — короче. к тому же, на это всем наплевать — никто эти слова вообще никак не использует 8-) но если я напишу на форуме именно «берег...», вряд ли африканцы прибегут массово мне указывать, что «по-русски правильно писать кот и так далее!».

                      Голландию как называли голландией, так и продолжают. Думаю, если вы опросите население, то бОльшая часть будет за Голландию, а кое-кто вообще ни про какие там нидерланды понятия не имеет, Голландию меж тем вполне четко идентифицируя.

                      «в/на» — это про Украину. И там — вполне может быть — это действительно не правило, а исключение, которое некоторым людям почему-то активно не нравится.

                      Если завтра Беларусь официально переименуют в Бульбостан, вы ведь не будете
                      Буду. Ровно так же, как буду продолжать настаивать, что «Bundesrepublik Deutschland» по-русски называется Германией. А по-английски — Germany. А по-французски — Allemagne. И, заметьте, давненько она называется именно так, хоть самоназвание страны и менялось хз сколько раз за это время. Не удивлюсь, например, если французское название старше не только собственно немецкого, а старше вообще какого бы то ни было государства/страны на территории Германии вообще! могу ошибаться, но вроде встречал такое название еще в галльских/римских хрониках, когда в германии жили только орды варваров.

                      да и русское «немец», кажется, известно минимум с Ивана Грозного, в то время как германия в сколько-то современном виде образовалась, кажется, только в 19 веке.
            • +1
              А в Беларуси есть

              «А ты видишь здесь финский флаг, Икея-сан?»(с).
      • –1
        А почему Великобритания, если в оригинале два слова? И почему одно перевели на русский, а второе оставили, а всё вообще произносится не так, как в оригинале?
        • –1

          Great Britain <-> Великобритания.
          Если честно, искаженного перевода не вижу.

    • +6
      Спросим белорусских музыкантов?
    • +5

      Русские, что с них взять! Империя зла и все сказано.


      Но вы почему пишете Балгарыя???


      Или даже так Баўгарыя???


      В/на Украине тоже хороши – Болгарія


      А правильно, конечно – България! И никак иначе!


      И не склоняется никогда! (а то я все время падежи путаю!) :D :D :D


      Ребята, давайте жить дружно! :)

      • 0
        В/на Украине тоже хороши – Болгарія

        В украинском нет буквы Ъ, поэтому заменяется на О. Остальные буквы созвучны болгарским (и -> і).
        • 0

          В украинском нет буквы Ъ, поэтому заменяется на О.


          А как Ъ заменяется на О??? Если заменять, то на А! И кстати, если у них нет Ъ, то как пишут, если в слове есть звук Ъ? А вот, нашел — твердый знак, заменяют апострофом. Так, пусть пишут: Б'лгария!

          • 0
            Я болгарский не знаю, поэтому подсмотрел транслитерацию на Википедии (украинской статьи нет, но есть русская, правила транслитерации ъ похожи). В частности, «ъ» в словах с корнем «българ» заменяется на «о».

            Что касается апострофа, то он в украинском не прямо заменяет ъ и не пишется перед согласными, а только перед некоторыми гласными: я, ю, є, ї.
  • +1
    Надо по одновременным коннектам считать — 6 это смешно, единственное что не смешно это sqlite
  • 0

    Это коннекты FastCGI скрипта к БД.


    Одна инстанция FastCGI скрипта обслуживает много клиентов. Сколько точно, зависит от веб сервере, но могут быть десятки и сотни.

  • +2
    Лучше расскажите какие нибудь технические подробности.
    Любой ли шаред хостинг позволяет запускать двоичный код на своем сервере?
    Как именно осуществлялась интеграция сайта и серверного софта? Какой софт должен быть на сервере хостера, чтобы можно было сделать такое? Любой ли хостинг подойдет?
    Тема-то интересная
    • 0
      В режиме CGI бинарник запустится практически на любом shared-хостинге. Но если нужно предварительно перекомпилировать скрипт на сервере, например для динамической линковки библиотек, то здесь уже сложнее, т.к.некоторые хостинги запрещают использовать компиляторы через SSH.
    • +1
      Любой ли шаред хостинг позволяет запускать двоичный код на своем сервере?

      Надо, чтобы сервер поддерживал FastCGI.
      Apache, lighttpd, nginx, rwasa — все они могут, только все шаред хостинги которые я видел, работали на Апачи.
      Удобно если сервер умеет запускать FastCGI скрипты. Апачи и lighttpd могут. nginx и rwasa нет.


      Как именно осуществлялась интеграция сайта и серверного софта? Какой софт должен быть на сервере хостера, чтобы можно было сделать такое? Любой ли хостинг подойдет?

      Специально для AsmBB нужно чтобы процессор сервера был x86 или x64 и работал на Linux. Можно компилировать и для Windows, но там неясно какие серверы и как их конфигурировать.


      Не нужен никакой специальный софт — AsmBB самодостаточен. Просто загружаются файлы AsmBB на сервере, через FTP, пишется путь к главной директории в конфигурационном файле (.htaccess или lighttpd.conf) и сайт начинает работать.

  • +1
    То что вы сделали, несомненно (ну даже если не круто, то точно) достойно внимания. Однако, как тут выше отмечали, практическая польза, к сожалению, не так уж и велика, да и вы и сами это наверняка понимаете.

    Есть простое соображение, почему вебу не нужен ручной низкий уровень: жизненный цикл ПО. Нет, речь не столько про доработки, сколько про то, сколько вообще будет жить сайт-приложение (в принципе, и до ближайших изменений в полезном функционале).

    режим капитана очевидность
    Понятно, что для одностраничных сайтов «купи часы», ни asm, ни C не нужны. Для мегапорталов, в которых денег вложено грузовиками вози — есть возможность использовать передовые технологии масштабирования. Для того что посередине — просто огромная масса проработанных за 20+ лет вариантов. Выходит, ассемблерный сайт может быть полезен только на слабой технике (не форумы, но какие-никакие админки), где попугаи играют большую роль. Но и там есть более «кроссплатформенный» и удобный во многих планах C.


    Просто соотношение эффектов к затратам слишком как-то не в пользу подобных платформ. Вам от меня (возможно, так себе) идея — напишите конструктор-генератор-компилятор административных интерфейсов для IoT-устройств. Ну так, чтобы я сидя на работе в поисковике мог бы найти свой утюг, а через вашу админку — выключить, если забыл.
    • –1
      есть возможность использовать передовые технологии масштабирования.

      И все таки, даже и для них имеет значение один дейта центр или два нужны для обеспечения нагрузки. Просто масштабы другие.


      А код на ассемблере масштабируется очень хорошо? Ведь даже AsmBB работая на FastCGI масштабируется очень хорошо, хоть и выбор SQLite накладывает некоторые ограничения. Например вполне возможно запустить AsmBB на отдельном сервере, а веб сервер на другом или даже на нескольких.


      Если заменить БД (а это не так трудно), то можно вообще запустить AsmBB на нескольких серверов и обеспечить линейное масштабирование до бесконечности.

      • 0

        Не только ассемблер линейно масштабируется.
        В принципе, это можно сказать про любую качественную технологию.
        Другой вопрос, что асм все время будет на x % быстрее, это да.

  • +1

    Даже если бы были хоть какие-то основания доверять стабильности и безопасности кода написанного руками на ассемблере, даже если бы этот код был поддерживаем, даже если бы использование ассемблера давало профит хотя бы по одному параметру по сравнению с тем же C, самое наипервейшее место где пригодился бы такой сервис написанный с оглядкой на экономию ресурсов — это одноплатник на arm или mips'овый роутер. Понятно что здесь любые проекты на ассемблере заканчиваются не начавшись. А что касается ограничений shared хостинга, за те же деньги можно взять VPS, без ограничений по CPU time и процессам.

  • +5
    Только меня во второй уже статье удивляет неочевидная гипотетическая связь устойчивости к «хабраэффекту» и того, на чём генерируется страница? При нормально написанном приложении хоть на чём основное тонкое место это явно не генерация содержимого http-ответа, а всё что извне — эффективность методов работы веб-сервера с соединениями, всякое остальное окружение VDS-ки (или что там вокруг), канал, ну итд итп.

    Ну про цифры уже сказали — так-то смешные значения довольно.
    • +1
      Я к тому, что мне лично неясно с чего бы вашему Apache + FastCGI + ассемблер быть «эффективнее» (во ВСЕХ практических смыслах, касающихся веба), чем какой-нибудь условный nginx + uwsgi + питон. Может чего-то недопонимаю, конечно.
      • 0

        Конечно, Апачи не торт.
        Но ведь можно и nginx+FastCGI+ассемблер. А еще лучше RWASA+FastCGI+ассемблер.

        • 0
          Ок, переформулируем, с чего бы nginx+FastCGI+ассемблер быть «эффективнее», чем nginx + uwsgi + питон?

          Мне кажется, конечно, что вы немного тут троллите, ну да ладно.

          Описанная технология (хотя я бы сказал «концепт») вполне рабочая и, наверное, даже неплохая. Но она имеет неочевидные преимущества (скорее всего вообще не имеет) по перфомансу (а это единственное ради чего кому-то пришло бы в голову использовать здесь ассемблер). А остальные аспекты ассемблера одни только минусы.
  • 0
    код на ассемблере намного легче поддерживать, чем это принято считать

    Ассемблер ассемблеру рознь
  • +1
    А был ли смысл писать на ассемблере, если при должной настройке Nginx на самописном PHP-сайте можно выдерживать и хабра- и лор- эффект на очень малых ресурсах?

    Вот например 5000 просмотров на 64Mb ОЗУ и 160MHz CPU:

    http://webhamster.ru/site/page/index/main/news/110

    Тоже использовался Sqlite.
    • 0
      А был ли смысл писать на ассемблере, если при должной настройке Nginx на самописном PHP-сайте можно выдерживать и хабра- и лор- эффект на очень малых ресурсах?

      Но ведь можно и nginx+FastCGI+ассемблер.


      А еще лучше RWASA+FastCGI+ассемблер.

      • 0
        А можно не использовать…

        У ассемблера куча минусов по сравнению с тем же PHP, поэтому это вам нужно доказывать, что nginx+FastCGI+ассемблер будет лучше, чем Nginx+PHP, а не товарищу webhamster обратное.
        • 0
          Да на самом деле никто никому ничего не должен. Есть минусы PHP, есть подхода автора. Есть плюсы PHP, есть плюсы подхода автора. А дальше всё субъективно. Для кого-то одни факторы перевешивают, для кого-то другие. Я, субъективно, тоже не стал бы на ASM писать, писал бы на Python или, в порядке эксперимента, на Rust. Но может и на ASM что-то не типичное возьмусь писать для саморазвития и просто ради удовольствия.
          • 0
            Нужно понимать, что в естественном языке подразумевается под «должен».

            Есть минусы PHP, есть подхода автора. Есть плюсы PHP, есть плюсы подхода автора. А дальше всё субъективно. Для кого-то одни факторы перевешивают, для кого-то другие. Я, субъективно, тоже не стал бы на ASM писать, писал бы на Python или, в порядке эксперимента, на Rust. Но может и на ASM что-то не типичное возьмусь писать для саморазвития и просто ради удовольствия.

            Есть простое правило по выбору языка:
            Каждый знает, что писать всю программу вручную на машинном языке — ошибочно. Но гораздо реже понимают то, что существует и более общий принцип: при наличии выбора из нескольких языков ошибочно программировать на чем-то, кроме самого мощного, если на выбор не влияют другие причины. (с) сорс

            Поэтому при прочих равных брать асм плохой выбор, потому что совершенно очевидно что по критерию мощности языка PHP выше ассемблера. А из этого следует вывод: чтобы писать на асме было оправданно, не должно выполняться условия «прочей равности», а значит у него должны быть серьезные преимущества. Причем чем ниже мощность языка (а у асма она очень низка), тем серьезнее должны быть эти причины. Это я и имел ввиду, когда говорил про того, кто «должен» доказывать, хотя конечно же ни о каких реальных долгах речь не идет.

            Заранее уточню, что мощность языка — это не то, сколько с его помощью можно сделать, а насколько выразительными являются составляющие его термы.
            • 0

              Кстати, странно, что мало проектов используют самый мощный язык (Lisp), или хотя бы языки с полноценными AST-макросами, как следующие за Lisp по мощности. Это действительно интересная загадка..

              • 0
                Тут как раз и есть эти самые «другие причины» — наличие библиотек, коммьюнити, документаци… Не говоря уже о том, что сами эти языки понемногу впитывают в себя идеи лиспа и наследников. В том же C# это сильно чувствуется.
                • +1
                  Тут как раз и есть эти самые «другие причины» — наличие библиотек, коммьюнити, документаци…

                  Да ладно… Это где вам библиотек/документации не хватает? В Common Lisp, в Racket или в Clojure? Комьюнити небольшие, но это скорее следствие малой распространенности, а не причина.


                  Не говоря уже о том, что сами эти языки понемногу впитывают в себя идеи лиспа и наследников. В том же C# это сильно чувствуется.

                  Там скорее идеи ФП в целом и OCaml в частности… Хотя лисп настолько глобален, что где только его идей нет…

        • +1

          По сути индустрия уже расставила приоритеты. Самая суровая низкоуровнищина, которая применима в HighLoad-проектах — это демоны на C++. И то они нужны может в 1 проекте из 100 тысяч.

          • 0
            Индустрия все же меняется.

            Сначала растет как мыльный пузырь — лишь бы быстрее, потому устаканивается корректируя ошибки.

            Я бы поставил на простой и удобный, строго типизированный компилируемый безопасный язык по идеям ADA, Oberon.

            Java в вебе — хороший результат коррекции, но будет что то лучше.

            Например из моего ряда нормально прогрессирует Go, и неплохо — D, есть попытки у Rust

            • +2

              Согласен, индустрия меняется… Если про веб говорить, то сначала хватало html-файликов, потом решили, что неплохо бы их генерировать на лету, потом посещаемость и сложность сайтов стала расти год от года и сейчас уже пришли к классической трёхзвенной архитектуре с толстым клиентом. Благодаря тому, что нагрузки веб-проектов и объемы БД растут, есть запрос на быстродействие. Но я бы тут поставил на функциональные языки, т.к. обработка веб-запросов — это по сути функциональная задача.

  • 0
    Большое спасибо за вашу работу.
  • –6
    имена собственные на то и имена собственные, чтобы их правописание и произношение регулировал тот, к кому относится то либо иное название/имя. То же самое если бы мы вдруг начали называть Российскую Федерацию Русской Федерацией. (что-то вроде «язык же русский, так почему страна российская). Потому как употребляют название нашей страны в официальных СМИ можно сказать многое о грамотности этих самых людей.

    Резюме: в беседах между собой называйте, как позволяет воспитание и грамотность, в официальных заявлениях придерживайтесь того, что говорят в самой стране о ее названии.
    p.s. Пишу с мобильника, не нашел, где ответить в соответствующую ветку. Заранее извините за оффтоп, просто накопилось. Мы не диктуем правила русского языка, просто называйте нас так, как мы себя называем
    • +3
      Хабр — это и есть беседы между собой.
      • –2

        Я скорее писал для тех, кто раглагольствовал о правилах русского языка и аппелировал к тому, что "я русский и как хочу, так и называю, потому что это мой язык, а мнение тех, с кем я при этом общаюсь мне по барабану"

        • +2
          Создайте свой русский язык, с блэкджеком и шлюхами. Устанавливайте какие угодно правила написания и произношения. Профит.
          Но это только после того, как заставите англичан и американцев говорить «Москва» и писать Moskva, а не Москоу, понимаешь ли.
    • 0
      То же самое если бы мы вдруг начали называть Российскую Федерацию Русской Федерацией

      Russland или Русише Федерацион? Не, не слышали. Как в загранпаспорте пишется, скажем, Александр? О, Alexander внезапно.
      • 0

        Мы говорим о русском языке. Это раз. Поэтому не понимаю, при чем здесь русланды и иже с ним, а уж тем более не понимаю, зачем учить англичан говорить Москва, если в своих же уставных документах россияне пишут именно Moscow. Это два.
        Твердолобостью отличаются только русские товарищи. Ниже я привел ссылку на сайт ООН. Кроме того, посмотрите, как пишут крупные иностранные СМИ: Republic of Belarus. Это три.

        • +1
          Мы говорим о русском языке. Это раз. Поэтому не понимаю, при чем здесь русланды и иже с ним,

          А — аналогия. Белорусы-русский язык, русские-немецкий язык.

          а уж тем более не понимаю, зачем учить англичан говорить Москва, если в своих же уставных документах россияне пишут именно Moscow. Это два.

          Потому что в английском языке именно так. И указывать англичанам как по-английски писать — глупо.

          Твердолобостью отличаются только русские товарищи

          Не-а. Белорусские. Русские товарищи не учат англичан, как правильно писать «Москва» по-английски. В отличие от.

          Ниже я привел ссылку на сайт ООН.

          Правила русского языка устанавливаются не в ООН. Не говоря уже о том, что в разных республиках есть свои нормы русского языка, как бы это ни было смешно.

          Кроме того, посмотрите, как пишут крупные иностранные СМИ: Republic of Belarus. Это три.

          А мы все еще
          говорим о русском языке. Это раз.
          ?
          Не знал, что в русском языке используется латиница… Транслит чтоль?
          • –2

            Согласен, не все способны разворачивать мысль. Был неправ, не поставил закрывающую скобку. Исправляюсь."Кроме того, посмотрите английский язык...."
            В первую очередь, когда в иностранном языке хотят посмотреть название страны, смотрят нет ли самоназвания у этой самой страны на ИХ языке. Только после этого начинают выдумывать.

          • –2

            И еще, такие рассуждения похожи на диалог:
            -привет, как тебя зовут?
            -Петя
            -Хорошо, я буду звать тебя Вася, у меня так правильно

            • +4
              — Привет! Как тебя зовут?
              — Беларусь.
              — А, Белоруссия, значит.
              — Нет! Я Беларусь! Зови меня так.
              — Не, не могу. Иначе мне придётся звать Германию — Дойчландом, Великобританию — Грейт Британ'ом и ещё кучу всего не так, как у нас принято.

              Вы просто не понимаете, что Беларусь это тот же Дойчланд для нас. А непонимание происходит, видимо, из-за того, что если с Дойчландом всё очевидно и интуитивно (это немецкий язык и немцы так про себя говорят), то Беларусь надо разжевать. Беларусь — это так белорусы про себя говорят (тут также, как и немцы), а язык хоть и тоже (якобы) русский, но это… как бы это сказать?.. — белорусский русский! Вот и всё отличие! Неочевидность в том, что в отличие от немцев с явно другим языком, белорусский русский не воспринимается Вами другим языком (а нами, видимо, хотя бы некоторыми представителями — воспринимается). Вы пытаетесь перенести нормы белорусского русского, в русский русский.
              И напоследок: посмотрите, как сильно отличается английский язык в разных странах (даже в тех, где он официальный язык) и попробуйте понять то, что я выше пытался объяснить.
              • –3
                Если Бундестаг примет закон о том что название их страны не переводится, а транслитерируется, то все будут писать Дойчланд, кроме жителей РФ?
                • –1
                  А как будут писать на языках, где гласные не пишутся? (я уж не говорю про другие возможные но не такие явные трудности при «транслитерации») Вы что-то совсем странное придумали…
                  • –2
                    Есть правила транслитерации. Именно поэтому в русском Кот-д’Ивуар, а не Берег Слоновой Кости. И Беларусь, а не Белоруссия.
                • +1

                  А если Бундестаг примет закон о том, что все жители Земли должны каждый год выплачивать процент с дохода в казну Германии, то что? Все будут оплачивать?

                  • –3
                    Название страны на её родном языке, а так же на других языках регулируется законами этой страны. Такие нормы международные. Так же будет если РФ примет закон что название страны должно транслитерироватся. Не будет больше Russian Federation.
                    • –1
                      http://laws.newsby.org/documents/laws/law1297.htm — если кому текст закона интересен (нет)
                    • 0

                      Вы, надеюсь, понимаете, что есть язык, а есть некое подмножество, которое можно использовать для официальных документов? И что это подмножество создано искусственно, в отличии от языка?


                      Законами страны еще можно попытаться контроллировать язык в пределах этой страны (и это сомнительная с точки зрения этичности практика), но остальным от этого ни холодно, ни жарко.


                      Я не против названия "Беларусь", звучит куда лучше "Белоруссии". Но это мои предпочтения. Язык же разивается коллективно, усилиями его носителей. Не посредством законотворчества (хотя многим бы хотелось). И даже не усилиями составителей правил языка (хотя еще более многим хотелось).


                      В общем, чем пытаться носителям языка указать на законы, лучше применять другие способы популяризации названия. В конечном счете, мат сколько пытаются запретить, а вот @#$ бы там.

                      • –3
                        А вы понимаете, что в 1991-м году страна изменила свое название с БССР, на Республика Беларусь. И новое название не имеет никакого отношения к похожему названию Беларуссия. Ну вот совсем никакого. Это как в английском apple и pineapple. И вместо того чтобы использовать новое название, вы продолжаете использовать старое. Вот и всё, при чем тут нормы языка?
                        • –3
                          Ну или вот другая аналогия. Жил бы мальчик Пётр. Пошёл в паспортный стол и официально поменял имя на Пятро. Но все продолжают называть Пётр. Вроде ничего страшного (человек не поменялся же, да и по русски Пётр правильнее), но человеку наверное обидно, не зря же он имя менял, были причины значит.
            • –1
              Нет, на диалог на французском:
              -привет, а откуда ты?
              -из Paris [парИ]
              -ты пишешь и говоришь неправильно, надо Parizh, у меня так правильно.
          • –1
            Я не знаю зачем в очередной раз разводить эту дискуссию ведущую в никуда, но раз уж начали, то изучите вопрос глубже. Вот
      • 0

        А у меня на карте вообще весело. Мне лично нравится как раз "Alexander", что можно понять из моего никнейма. Но на карту мне решили написать "AlexanDR"! Хотя в анкете и было написано правильно. -_-

  • 0
    http://kremlin.ru/events/president/news/53308
    • 0
      RE: Найти официальный документ на русском языке.
  • +2
    Это всё прикольно, конечно, сайт на ассемблере.

    Но на Хабре было бы очень круто, если бы рассказ был не о том: я сделал и у меня получилось, а о том, как оно всё работает, с чего начать, если я решился сам написать сайт на ассемблере и вообще, как всё это работает. :)
    • +4

      Может и напишу. Но это несколько труднее и отнимет больше времени. К тому же, неясно насколько это будет интересно людям. Мне кажется, что есть лучшие темы — например рассказ о том как программировать GUI с ООП на ассемблере.

      • 0
        Да, очень интересно про GUI!
  • +1
    Перед приложением можно поставить этот веб-сервер =)
  • 0
    Когда-то давно в школе программировал на ассемблере, поэтому показалось интересным как его можно использовать для веб.
    На мой взгляд, вам удалось ускорить один фрагмент — обработку запроса в приложении.
    Но при этом:
    — используется апач
    — нет кеширования
    — нет возможности распределения горизонтально

    То есть, на мой взгляд, тут скорее проигрыш по производительности.
    (я намеренно оставил за скобками остальные вопросы: безопасность, удобство и скорость разработки и пр.)
    Имхо, более интересно использовать Go (некоторые считают его «правильно сделанным С») и получится достаточно низкоуровнево и быстро и уже есть набор инструментов для решения общих задач. Пусть он пока сырой, но ведь именно это и интересно? :)
    • 0
      — используется апач
      — нет кеширования
      — нет возможности распределения горизонтально

      Апач – это просто демо. Если надо делать для реального форума, я конечно выбрал бы RWASA, lighttpd или nginx.


      Кеширование чего? Там есть кеширование HTML постов в БД (чтобы не рендировать markdown каждый раз) и правильно сделанное кеширование на стороне клиента. Кеширование запросов применяется главно, потому что скрипты выполняются медленно на сервере. В случае с ассемблером, это не так.


      Горизонтальное масштабирование вполне возможно – FastCGI это поддерживает.

      • 0
        Кешировать надо не только скрипты, а базу.
        Здесь вам придется писать кучу логики самостоятельно, подключения к мемкешам/редисам и пр.
        С горизонтальным масштабированием проблема в SQLite. Либо нужно менять базу и пулер коннектов ставить.
        • 0
          С горизонтальным масштабированием проблема в SQLite. Либо нужно менять базу и пулер коннектов ставить.

          Конечно в SQLite. Но во первых заменить ее примерно на MySQL не так уж и сложно и во вторых есть и клиент-сервер решения совместимые с SQLite.


          И вообще, стоит вопрос зачем масштабировать? Если установить AsmBB на отдельном сервере с мощном многоядерном процессоре и SSD, а веб сервер на втором, производительность хватит на многотысячном форуме и гигабайтной БД.

          • +1
            И вообще, стоит вопрос зачем масштабировать? Если установить AsmBB на отдельном сервере с мощном многоядерном процессоре и SSD, а веб сервер на втором, производительность хватит на многотысячном форуме и гигабайтной БД.

            Ооо, а ничего что многотысячный форум и гигабайтная БД даже на PHP работает на шаред хостинге? Я понимаю если бы вы говорили о сотнях запросов в секунду и терабайтных БД на слабой VDS'ке, но ДВА МОЩНЫХ сервера для ОБЫЧНОГО форума и весьма небольшой БД? Вы серьезно? С таким забиванием гвоздей микроскопом можно взять вообще самый медленный язык и все равно выиграть.
            • 0

              Ну, ну, конечно перабайтных БД на телефоне, выглядит куда лучше. На PHP. :P

              • 0

                А если всерьез, то такие тесты я не проводил. Установите, попробуйте. Может и дотянет то терабайты и тысячи запросов в секунду. То что у меня есть – я показал.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.