Отшумели страсти после моей первой статьи на Хабре.
Тема была о веб сайте на ассемблере, так что нет ничего удивительного в количестве комментариев к статье, а также в Хабраэффекте на сайте. В течение первых нескольких суток тысячи людей посетили демо сайт 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 новых пользователей, которые написали несколько десятков постов, пытаясь протестировать форум на прочность.
Спасибо, ребята! Вы очень помогли.
Вот и список исправлений, которые были сделаны во время Хабраэффекта. Там не только багфиксы, но и новые функции:
- Ошибка, вызывающая исключение
- XSS уязвимость и еще одна ошибка вызывающая исключение
- Ошибка в кэшировании аватаров на стороне клиента
- Кэширование HTML постов
Насчет п.4 надо сказать, что я решил сделать эту функцию, измеряя время реализации, как доказательство того что код на ассемблере намного легче поддерживать, чем это принято считать.
Время реализации – ровно 78 минут. Наверное это несколько больше чем на ЯВУ, но все же вполне нормальный результат.
Выводы
А выводы делайте сами.
Спасибо gearbox за помощь в редактировании.
Комментарии (147)
andreymal
11.01.2017 15:13А прямо сейчас мне вместо css-файла выдали 500 Resource Limit Is Reached, забава)
BuriK666
11.01.2017 15:40+6siege 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 /
Вас лимиты хостера спасают.johnfound
11.01.2017 15:48+1А это наверное защита от DDOS. Стоит там такая на сервере. И правильно стоит. Через siege, это уже не хабраэффект, а DDOS называется.
terryP
11.01.2017 16:07+10Так, а где гарантия что значительную часть пользователей просто не выпилила эта самая защита от DDOS? Вы ведь этого вообще даже не увидите.
Source
11.01.2017 16:17+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 секунд) отвалились...
johnfound
11.01.2017 16:19Вы преувеличиваете, 100 конкурентных запросов — это даже не DoS.
Из одного клиента? Это конечно не DDoS, но вполне себе DoS.
Source
11.01.2017 16:35+8Ну, от одного клиента — это ведь просто для теста. Да и уменьшение конкурентности до 5 никак не помогло. По сути на хостинге rate limiter примерно на 50 rps настроен, больше он не пропустит. В принципе для shared-хостинга это приемлемо, надо же ему как-то предотвратить возможность нагруженные проекты хостить на таких тарифах :-)
MeGaPk
11.01.2017 15:49+1Если хотите захудалый дешевый впс, могу предоставить и помочь настроить (если не сложно замучено там).
Хостеры — это лишняя переменная в нормальной статистике, со своим iptables и прочим :)johnfound
11.01.2017 15:55Спасибо, но нет. У меня просто не нужды в VPS, иначе я купил бы.
terryP
11.01.2017 16:05+4Я думаю речь о том чтобы проверить производительность на VPS, где все более-менее честно, чем на шаред хостинге, характеристики, которого могут «гулять» плюс-минус порядок.
johnfound
11.01.2017 16:14+1Да, конечно все так. Только для меня этот проект не так уж и важен, чтобы доказывать всему миру как он крут. Поэтому точность статистики для меня важна постольку-поскольку.
Но если у вас есть VPS и хочется точная статистика – то установка AsmBB дело на 5 минут (буквально).
acyp
11.01.2017 16:06тоже предлагал ТС vps бесплатно, отказался, аргументируя тем, что впс изначально круче шаред хостинга. я же до Вашего аргумента не дошел. действительно — эксперимент был бы чище, но и нагрузка потребовалась бы круче.
terryP
11.01.2017 16:09+1но и нагрузка потребовалась бы круче.
Нагрузку несложно создать, использую силениум и прочие автоматизированные тулзи, которые будут эмулировать реальных пользователей с реальными веб браузерами.acyp
11.01.2017 16:42+2завтра и можно будет проверить на голой впс, которая смотрит в мир :). без защиты от ддоса, без кэширования, на прямом проксировании (ip к сожалению один, но nginx будет просто передавать все на впс). и инструментов анализа на впс больше. так что практический эксперимент поставлен будет.
Duss
13.01.2017 12:31VPS тоже разные бывают. Мы же не видем что прячет хостер под 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.
Но это уже для совсем «чистого» эксперимента)acyp
13.01.2017 12:36Нет. Речь шла об «очень слабой ВПС», более того, для чистоты эксперимента нужны нормальные средства контроля и гарантированное отсутствие анти-ддосов. Для этого «слабая» впс и предлагалась. От окружения ВПС ничего не зависит — его действие в любом случае попадет на контроль.
Тем более, что в моем случае хостер — это я сам :). И я _точно_ знаю что у меня под капотом лежит.Source
13.01.2017 13:35Так Вы устроили нагрузочное тестирование или не взлетело?
acyp
13.01.2017 13:44+1К своему стыду не устроил. На НГ я запустил новые серваки и мигрировал на них 1с-кластер со старых. Вот оно повело себя нештатно:( и выяснилось после 2х рабочих дней (т.е. просто откатиться не получится). пришлось очень быстро мигрировать обратно и сейчас я разбираюсь почему так. ибо старое оборудование в других целях уже запланировали использовать. соотв рукли мне плешь клюют. Прошу простить мне мой французский. говорю как есть. Надеюсь до воскресения разобраться с кластером и заняться более важными своими делами.
Rastishka
11.01.2017 16:09SQLite, несмотря на пессимистичные мнения в комментариях, вела себя все время прекрасно, особо не замедляясь.
Вела себя прекрасно на каком количестве записей?
raidhon
11.01.2017 16:30+6Прежде всего спасибо за проделанную работу, это очень круто!
Теперь критика постараюсь конструктивно.
У меня выводы неутешительны.
Отсутствие библиотек, документации и самое главное сообщества по теме <<Ассемблер для WEB>> хоронит эту идею на корню.
Вы говорите про 78 минут на реализацию кеширования, в любом языке ориентированном на web на это уходит пару минут, если не секунд и все это занимает одну строчку. Так как есть библиотеки кеширования.
Выбирай какую хочешь memcached, redis и тд, базу данных, файловую систему или напрямую оперативную память.
Проблемы санитизации, фильтрации, шаблонизации и ещё куча связанных с web проблем придется решать самому.
А это дикие сроки реализации.
Даже для микросервисов не подойдет из за этой проблемы.
Мне с трудом представляется картина как я вылавливаю задачи из beanstalk и многопоточно рассылаю пуши в firebase в зависимости условий из удаленной базы данных.
Причем все это должно быть написано на ассемблер.acyp
11.01.2017 16:47+2так может так и появится среда таким способом? возникнет диалог, обмен мнениями. сообщество в конце-концов. история многих црм начиналась с «велосипеда на костылях», но с решением каких-то текущих и значимых на тот момент задач
raidhon
11.01.2017 18:17+3Если был смысл это уже бы произошло. Думаю эту идею постигнет та же участь что и идея с програмированием сайтов на c++.
Хотя на с++ есть даже довольно удобные фреймворки и библиотеки такие как CppCMS (этого зверя даже пошупал), Wt, POCO и др.
И несмотря на это разработка на сайта на C++ это адов ад, по сравнению с разработкой например на Ruby on Rails.
А про ассемблер вообще молчу. Он был мейнстримом ещё в конце 70 годов прошлого тысячилетия.
Уже тогда люди понимали что нужна увеличивать скорость разработки и появился Си.
Сейчас уже есть языки которые совместили удобство разработки с производительностью и высокой скоростью компиляцию.
Это Go и Rust думаю будущее за ними.
На Go уже полно фреймворков которые позволяют писать что угодно в короткие сроки.
На Rust же можно сделать аналог демо проекта автора и если не уложится в те же ограничения по оперативной памяти и процессорному времени то очень серьезно приблизится.
Суть тут такова что нужно сохранить золотую середину между временем разработки и производительностью.
Программирования сайтов на ассемблер это кардинальный уход в сторону производительности, с кардинальным увеличением времени разработки.
MacIn
11.01.2017 20:09+1Вы говорите про 78 минут на реализацию кеширования, в любом языке ориентированном на web на это уходит пару минут, если не секунд и все это занимает одну строчку. Так как есть библиотеки кеширования.
Так… это самое… я не видел, как автор реализовал свое кеширование, но если в виде отдельного встраиваемого модуля (если нет, то он ССЗБ), то у него теперь в любом другом проекте на асме тоже займет пару минут на реализацию, так как теперь есть библиотека.
pvlbzn
11.01.2017 17:49+1В пиковый день сервер получил 84.876 запроса. Это немного меньше 1 запроса в секунду в среднем.
Какая была пиковая нагрузка и как рост нагрузки влиял на скорость обработки запросов, это ведь важно.
Если все эти запросы были в течении получаса и деградация времени отклика была не значительной — это одно, а обработка 1 запроса в секунду — совсем другое.
Buggha88
11.01.2017 17:49Нашёл багу:
- В строке поиска пишем любое встречающееся слово
- В результатах нажимаем на название найденной ветки (то что после "Thread: " и до "Post: #_такойто")
- Имеем картинку "404" .
( под зарегистрированным пользователем)
http3
11.01.2017 17:50+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К посетителей? :)
У кого когда он наступал? :)johnfound
11.01.2017 17:51За те нескольких дней, пока длился Хабраэффект, она была просмотрена около 40000 раз.
Это статья на хабре была просмотрена 40К раз.
У хостинга есть лимит на 30 минут процессорного времени в сутки. Если этого лимита не было, можно обработать 180К * 48 = 8640000 запросов в сутки, на том же сервере.
http3
11.01.2017 18:07Ааа.
Тогда норм. :)
С ростом базы нагрузка видимо вырастет (хотя мне раньше хостинг базу считал отдельно, не в процессорном времени).
JavaFox
11.01.2017 17:52-12Off top: готов принять удар, но народ учить нужно — не БелОруссии, а Беларуси. Пишите и говорите правильно, уважайте соседей :)
johnfound
11.01.2017 18:00+1Спасибо. Только синтаксическая проверка подчеркивает красным…
MacIn
11.01.2017 20:13+5Не ведитесь.
Белору?ссия[9] (белор. Беларусь (инф.)), официальное название — Респу?блика Белару?сь (белор. Рэспубліка Беларусь (инф.)), официальное сокращённое название Белару?сь — государство в Восточной Европе.
https://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BB%D0%BE%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B0_%D0%BD%D0%B0_%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%BC_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5
ildarz
11.01.2017 18:06+6/offtopic
Соединенное королевство Великобритании и Северной Ирландии, Нидерланды, США, и т.п. — их всех как-то мало волнует, что их страны в разговорной речи на русском языке называют не так, как в офицальных документах, и вообще "неправильно". И только ряд жителей из пары ближайших географических соседей очень переживают почему-то.
http3
11.01.2017 18:09+1Это примерно как в/на Украине (мне плевать, кто как пишет) :)
+1 за Белоруссию.
П.С.
Киев всю жизнь транслитерировался как Kiev на латиницу.
А сейчас приняли чудопостановление, чтобы транслитерировали Kyiv.
И что, всем кинуться и выполнять чьи-то причуды? :)JavaFox
11.01.2017 18:24-9Не одно и то же. Найдите хоть один официальный документ на русском языке где написано Республика Белоруссия. То что вы пишите как хотите говорит лишь о вашей безграммотности
splav_asv
11.01.2017 18:45+10На мой скромный взгляд Республика Беларусь — Белоруссия аналог Российская Федерация — Россия. Т.е. Белоруссия это прижившееся в русском языке название страны, не совпадающее с официальным. Это нормально, не следует на это обижаться.
gearbox
11.01.2017 18:45+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
наследие союза. Но если белорусы обижаются — не вопрос, учту (вопрос ко мне, так как именно эта правка — моя)
mgremlin
11.01.2017 19:01+3Найдите хоть один официальный документ на русском языке, где написано Дойчланд, Эспанья, Юнайтед Кингдом и далее по тексту.
Кстати, можете поискать тот же Дойчланд на английском или французском языке.
И далее, и подобное.JavaFox
11.01.2017 19:05Если честно не понял о чем вы. Причём здесь русский язык к английским названиям? Беларусь это написано не на беларусском языке
mgremlin
11.01.2017 19:15+13В русском языке существует простое название страны: Белоруссия. Очень давно существует. раньше была «Белая Русь» — искать лень, но этому названию в русском языке много столетий. Равно как и устоявшееся словосочетание «на Украине». По-русски правильно писать Узбекистан и Алма-Ата, а столица Эстонии называется Таллин. Да, в последнее время какие-то странные люди зачем-то бегут впереди паровоза, коверкая сложившиеся минимум десятилетиями (а то и веками) правила русского языка. Только потому, что этого кому-то захотелось. Но это вовсе не значит, что все грамотные русские с этим согласны. некоторым вон и кофе — «оно» 8-)
Топонимика не совпадает с самоназваниями стран и городов в массе мировых языков. Русский тут вовсе не чемпион! Потому я и привел примеры. Французы называют Германию Аллеманью, но немцы почему-то не тычут на французских форумах этим в лицо всем подряд, требуя обязательно называть их дойчландом. Не так ли? Любой найдет сколько угодно аналогичных примеров по всему миру. И никого это не парит. Даже тех же белорусов кто только и как только не называет.
И только от русских почему-то прям вот требуют писать именно так, как кому-то хочется, и не иначе!
MacIn
11.01.2017 20:16+1Это все игры националистов в 89-91. Так же как «Таллин» с двумя «н», например.
withkittens
11.01.2017 19:06+10> То что вы пишите как хотите говорит лишь о вашей безграммотности
> безграммотности
Ясно.
Ещё почитайте вот про пунктуацию.
И больше не учите других людей грамотности.
MacIn
11.01.2017 20:15Было написано «Белоруссия», а не «Республика Б.», так что претензия — не в кассу. Все три названия — что Белоруссия, что Беларусь, что Республика Беларусь — используются повседневно.
technont64
11.01.2017 21:07+2Киев = Kiev
Київ = Kyiv
При прочтении в слух разница становится заметной :)
JavaFox
11.01.2017 18:17-5Англичан волнует как другие народы говорят на английском и вообще заявляют, что те же американцы говорят не на английском, а на американском. Нас не волнует как на немецком нас или английском называют, нас волнует как на русском языке ибо русский язык у нас государственный (в отличие например от Украины, где люди так же хорошо говорят на русском) и если брать культурных людей, то русский в Минске практически не отличается от русского в Москве, поэтому хотелось бы, что бы на общем языке страну называли правильно, не более
http3
11.01.2017 18:37+3Ну так я говорю на русском в Украине. :) ru_ua
На русском в Белоруссии можете по своему говорить. :) ru_by
Ну и я считаю, что есть более важные вопросы, а не выяснять отношения в этом вопросе. :)JavaFox
11.01.2017 18:55-7Могу объяснить в чем разница — в Украине нет официальных документов на русском языке, где сказано как Украина пишется и произносится на русском. А в Беларуси есть. Т.е. в русском языке можно назвать было Украину как угодно. Например немцы Россию называют вообще усланд, а Беларусь — белый усланд. Но у нас нет документов, где говорится как на немецком называть страну. Т.е когда вы говорите на украинском, то можете нас называть хоть Бульбаруссия, ваше право :) А вот на русском языке будьте добры :)
mgremlin
11.01.2017 19:06+7То есть, официальный документ где-то в Белоруссии может менять правила русского языка? Только касательно связанных с самой Белоруссией слов, или, может быть, еще каких-то? А то вдруг мы тут все неграмотные, а никто и не в курсе.
Кстати, как я понимаю, правила немецкого языка остались неприкосновенны. Интересно, за что немцам такой почет.JavaFox
11.01.2017 19:11-7А покажите мне какое ппавило русского языка было нарушенно? Имя собственное когда нибудь слышали про такое?
P.S. Такое ощущение, что я в группе подобно МДК где куча школьников пытается скорее написать комментарий и плевать на то, что бы подуматьmgremlin
11.01.2017 19:27+7А что такое «правила языка», по-вашему? Тем более — такого сложного, чтоб не сказать «прецедентного», как русский?
Это просто какая-то — всегда частичная — попытка систематизировать сложившиеся преобладающие обычаи. Вот правильно про кофе говорить «он». Было лет 300 примерно. Потом, в связи с массовой дебилизацией теоретически грамотного населения, в обычай вошло «оно». Тут имею в виду крайне прискорбную ситуацию, когда подавляющая часть населения формально является грамотной, имеет за спиной аттестат с положительной оценкой по русскому языку за 10 лет изучения, но не в состоянии выучить даже простейших вещей.
Но с Белоруссией — тут пока что мимо. Возможно, когда-нибудь потом, лет через много, мозг людям за… бьют достаточно, чтоб Белоруссия стала Беларусью. Но пока в этом вопросе люди еще массово придерживаются правил русского языка. Кто бы что бы ни писал, хоть из Белоруссии, хоть из Института Русского Языка (тьфу на них, ренегады 8-)
P.S. Вас это, возможно, удивит, но в группе МДК я не был ни разу в жизни. Равно как и в любой другой группе на любом из подобных сайтов.
А насчет скорее — не допускаете мысли, что кто-то может довольно быстро думать, и не менее быстро набивать результат? 8-)izvolov
11.01.2017 22:40+2Вот правильно про кофе говорить «он». Было лет 300 примерно. Потом, в связи с массовой дебилизацией теоретически грамотного населения, в обычай вошло «оно»
История со словом "кофе" вообще замечательная.
Рекомендую почитать книгу В.Долопчева 1909 года "Опыт словаря неправильностей в русской разговорной речи". На с. 111 он пишет, что "кофе" в мужском роде употреблять (прошу прощения за каламбур) неправильно. А правильно — в среднем.
Язык меняется. Вот было кофе среднего рода, потом стало мужского. Потом, может, опять станет среднего. Ничего страшного в этом нет.
mgremlin
11.01.2017 22:55+2Если не забуду — почитаю 8-)
Однако, я уже читал кой-чего… Кофе раньше назывался «кофий» — слово в русском мужского рода. К тому же, раньше его пили дворяне, основным языком двора был французский, а в нем cafe мужского рода.
Ну и про изменение — да, конечно, язык меняется и развивается. но происходит это внутри страны, силами самих носителей. Чтоб язык менялся под диктовку извне — это нонсенс.
Ndochp
17.01.2017 11:09+3Соединительная гласная в русском языке — «о». Белоруссия явно слово с двумя корнями. Между ними должна стоять «о».
Kant8
12.01.2017 11:19-1Мне в общем-то самому по большей части без разницы, как называют, но:
1. Причем тут правила русского языка, если имена собственные им не подчиняются.
2. http://www.classbase.ru/oksm в общем-то достаточно официальный перечень, утвержден самой же Россией, и там черным по белому указано краткое название Беларусь, и полное Республика Беларусь.mgremlin
12.01.2017 12:42+5Имена собственные не подчиняются? Давайте писать «билурасея». или «гирманея», чтоб братьям обидно не было.
Еще раз: правила — это (всегда неполная) попытка систематизировать сложившийся обычай. Обычай — это и есть правило. Плохо, когда правила диктует неграмотная масса, но это всегда внутри страны.
На тему пункта два — да мне пофигу, кто и что там придумал. Мне это все не нравится, как не нравится и кофе среднего рода. Но уж точно не думаю, что кто-то имеет право диктовать употребление таких слов…
И еще. Ни в одном официальном классификаторе не найти и половины слов, которые повсеместно слышны на улице 8-) И вполне по-русски, меж тем. У нас же тут не официальный документ, верно? Живые люди неформально общаются, разве не так? Тогда к чему эти вечные директивы про «в/на» или «о/а»?Kant8
13.01.2017 11:48-1Я имею в виду, что нет смысла применять правила к названиям вообще. Если будет страна Билурасея, то будет, и никто этого не отменит.
С Беларусью не было никакой смены правил, произошла смена названия, константу в коде перебили буквально что.
Берега слоновой кости уже 30 лет как нет, теперь он КОТ Д'ИВУАР, что вообще ни по каким правилам русского языка не является нормальным, но всем плевать, тк это название страны.
Нидерланды тоже Голландией называли, но это не делает название Голландия правильным.
И я не говорю, что тут кто-то что-то запрещает, просто я не понимаю, когда россияне пытаются упирать, что используемое ими слово является единственно верным, когда в других случаях почему-то проблем с переименованиями не было.
И Беларусь\Белоруссия также не имеет никаких отношений к в\на, тк правила предлогов это уже ПРАВИЛА русского языка, там только правила за это и отвественны. Не говоря уже про кофе и прочее.
Если завтра Беларусь официально переименуют в Бульбостан, вы ведь не будете говорить, что название страны осталось Белоруссия, потому что таковы правила русского языка?mgremlin
13.01.2017 12:56+3А почему не применять? Вот например пусть будет цвет: белый и синий. Как — с точки зрения русского — будет правильнее: бело-синий или белАсиний?
кот д'ивуар — это тот же берег, что и был, просто на французском. к тому же — короче. к тому же, на это всем наплевать — никто эти слова вообще никак не использует 8-) но если я напишу на форуме именно «берег...», вряд ли африканцы прибегут массово мне указывать, что «по-русски правильно писать кот и так далее!».
Голландию как называли голландией, так и продолжают. Думаю, если вы опросите население, то бОльшая часть будет за Голландию, а кое-кто вообще ни про какие там нидерланды понятия не имеет, Голландию меж тем вполне четко идентифицируя.
«в/на» — это про Украину. И там — вполне может быть — это действительно не правило, а исключение, которое некоторым людям почему-то активно не нравится.
Если завтра Беларусь официально переименуют в Бульбостан, вы ведь не будете
Буду. Ровно так же, как буду продолжать настаивать, что «Bundesrepublik Deutschland» по-русски называется Германией. А по-английски — Germany. А по-французски — Allemagne. И, заметьте, давненько она называется именно так, хоть самоназвание страны и менялось хз сколько раз за это время. Не удивлюсь, например, если французское название старше не только собственно немецкого, а старше вообще какого бы то ни было государства/страны на территории Германии вообще! могу ошибаться, но вроде встречал такое название еще в галльских/римских хрониках, когда в германии жили только орды варваров.
да и русское «немец», кажется, известно минимум с Ивана Грозного, в то время как германия в сколько-то современном виде образовалась, кажется, только в 19 веке.
izvolov
11.01.2017 18:45+6Спросим белорусских музыкантов?saintbyte
11.01.2017 18:32+1Надо по одновременным коннектам считать — 6 это смешно, единственное что не смешно это sqlite
johnfound
11.01.2017 18:36Это коннекты FastCGI скрипта к БД.
Одна инстанция FastCGI скрипта обслуживает много клиентов. Сколько точно, зависит от веб сервере, но могут быть десятки и сотни.
NeoCode
11.01.2017 18:37+2Лучше расскажите какие нибудь технические подробности.
Любой ли шаред хостинг позволяет запускать двоичный код на своем сервере?
Как именно осуществлялась интеграция сайта и серверного софта? Какой софт должен быть на сервере хостера, чтобы можно было сделать такое? Любой ли хостинг подойдет?
Тема-то интереснаяFlex25
11.01.2017 20:02В режиме CGI бинарник запустится практически на любом shared-хостинге. Но если нужно предварительно перекомпилировать скрипт на сервере, например для динамической линковки библиотек, то здесь уже сложнее, т.к.некоторые хостинги запрещают использовать компиляторы через SSH.
johnfound
11.01.2017 21:38+1Любой ли шаред хостинг позволяет запускать двоичный код на своем сервере?
Надо, чтобы сервер поддерживал FastCGI.
Apache, lighttpd, nginx, rwasa — все они могут, только все шаред хостинги которые я видел, работали на Апачи.
Удобно если сервер умеет запускать FastCGI скрипты. Апачи и lighttpd могут. nginx и rwasa нет.
Как именно осуществлялась интеграция сайта и серверного софта? Какой софт должен быть на сервере хостера, чтобы можно было сделать такое? Любой ли хостинг подойдет?
Специально для AsmBB нужно чтобы процессор сервера был x86 или x64 и работал на Linux. Можно компилировать и для Windows, но там неясно какие серверы и как их конфигурировать.
Не нужен никакой специальный софт — AsmBB самодостаточен. Просто загружаются файлы AsmBB на сервере, через FTP, пишется путь к главной директории в конфигурационном файле (.htaccess или lighttpd.conf) и сайт начинает работать.
S_A
11.01.2017 18:42+1То что вы сделали, несомненно (ну даже если не круто, то точно) достойно внимания. Однако, как тут выше отмечали, практическая польза, к сожалению, не так уж и велика, да и вы и сами это наверняка понимаете.
Есть простое соображение, почему вебу не нужен ручной низкий уровень: жизненный цикл ПО. Нет, речь не столько про доработки, сколько про то, сколько вообще будет жить сайт-приложение (в принципе, и до ближайших изменений в полезном функционале).
режим капитана очевидностьПонятно, что для одностраничных сайтов «купи часы», ни asm, ни C не нужны. Для мегапорталов, в которых денег вложено грузовиками вози — есть возможность использовать передовые технологии масштабирования. Для того что посередине — просто огромная масса проработанных за 20+ лет вариантов. Выходит, ассемблерный сайт может быть полезен только на слабой технике (не форумы, но какие-никакие админки), где попугаи играют большую роль. Но и там есть более «кроссплатформенный» и удобный во многих планах C.johnfound
11.01.2017 22:57-1есть возможность использовать передовые технологии масштабирования.
И все таки, даже и для них имеет значение один дейта центр или два нужны для обеспечения нагрузки. Просто масштабы другие.
А код на ассемблере масштабируется очень хорошо? Ведь даже AsmBB работая на FastCGI масштабируется очень хорошо, хоть и выбор SQLite накладывает некоторые ограничения. Например вполне возможно запустить AsmBB на отдельном сервере, а веб сервер на другом или даже на нескольких.
Если заменить БД (а это не так трудно), то можно вообще запустить AsmBB на нескольких серверов и обеспечить линейное масштабирование до бесконечности.
MikailBag
17.01.2017 21:28Не только ассемблер линейно масштабируется.
В принципе, это можно сказать про любую качественную технологию.
Другой вопрос, что асм все время будет на x % быстрее, это да.
AMDmi3
11.01.2017 18:55+1Даже если бы были хоть какие-то основания доверять стабильности и безопасности кода написанного руками на ассемблере, даже если бы этот код был поддерживаем, даже если бы использование ассемблера давало профит хотя бы по одному параметру по сравнению с тем же C, самое наипервейшее место где пригодился бы такой сервис написанный с оглядкой на экономию ресурсов — это одноплатник на arm или mips'овый роутер. Понятно что здесь любые проекты на ассемблере заканчиваются не начавшись. А что касается ограничений shared хостинга, за те же деньги можно взять VPS, без ограничений по CPU time и процессам.
barker
11.01.2017 19:15+5Только меня во второй уже статье удивляет неочевидная гипотетическая связь устойчивости к «хабраэффекту» и того, на чём генерируется страница? При нормально написанном приложении хоть на чём основное тонкое место это явно не генерация содержимого http-ответа, а всё что извне — эффективность методов работы веб-сервера с соединениями, всякое остальное окружение VDS-ки (или что там вокруг), канал, ну итд итп.
Ну про цифры уже сказали — так-то смешные значения довольно.barker
11.01.2017 19:19+1Я к тому, что мне лично неясно с чего бы вашему Apache + FastCGI + ассемблер быть «эффективнее» (во ВСЕХ практических смыслах, касающихся веба), чем какой-нибудь условный nginx + uwsgi + питон. Может чего-то недопонимаю, конечно.
johnfound
11.01.2017 21:41Конечно, Апачи не торт.
Но ведь можно и nginx+FastCGI+ассемблер. А еще лучше RWASA+FastCGI+ассемблер.barker
12.01.2017 09:28Ок, переформулируем, с чего бы nginx+FastCGI+ассемблер быть «эффективнее», чем nginx + uwsgi + питон?
Мне кажется, конечно, что вы немного тут троллите, ну да ладно.
Описанная технология (хотя я бы сказал «концепт») вполне рабочая и, наверное, даже неплохая. Но она имеет неочевидные преимущества (скорее всего вообще не имеет) по перфомансу (а это единственное ради чего кому-то пришло бы в голову использовать здесь ассемблер). А остальные аспекты ассемблера одни только минусы.
mkarev
11.01.2017 21:21код на ассемблере намного легче поддерживать, чем это принято считать
Ассемблер ассемблеру рознь
webhamster
11.01.2017 21:37+1А был ли смысл писать на ассемблере, если при должной настройке Nginx на самописном PHP-сайте можно выдерживать и хабра- и лор- эффект на очень малых ресурсах?
Вот например 5000 просмотров на 64Mb ОЗУ и 160MHz CPU:
http://webhamster.ru/site/page/index/main/news/110
Тоже использовался Sqlite.johnfound
11.01.2017 21:45А был ли смысл писать на ассемблере, если при должной настройке Nginx на самописном PHP-сайте можно выдерживать и хабра- и лор- эффект на очень малых ресурсах?
Но ведь можно и nginx+FastCGI+ассемблер.
А еще лучше RWASA+FastCGI+ассемблер.
PsyHaSTe
11.01.2017 22:14А можно не использовать…
У ассемблера куча минусов по сравнению с тем же PHP, поэтому это вам нужно доказывать, что nginx+FastCGI+ассемблер будет лучше, чем Nginx+PHP, а не товарищу webhamster обратное.splav_asv
11.01.2017 22:44Да на самом деле никто никому ничего не должен. Есть минусы PHP, есть подхода автора. Есть плюсы PHP, есть плюсы подхода автора. А дальше всё субъективно. Для кого-то одни факторы перевешивают, для кого-то другие. Я, субъективно, тоже не стал бы на ASM писать, писал бы на Python или, в порядке эксперимента, на Rust. Но может и на ASM что-то не типичное возьмусь писать для саморазвития и просто ради удовольствия.
PsyHaSTe
11.01.2017 23:42Нужно понимать, что в естественном языке подразумевается под «должен».
Есть минусы PHP, есть подхода автора. Есть плюсы PHP, есть плюсы подхода автора. А дальше всё субъективно. Для кого-то одни факторы перевешивают, для кого-то другие. Я, субъективно, тоже не стал бы на ASM писать, писал бы на Python или, в порядке эксперимента, на Rust. Но может и на ASM что-то не типичное возьмусь писать для саморазвития и просто ради удовольствия.
Есть простое правило по выбору языка:
Каждый знает, что писать всю программу вручную на машинном языке — ошибочно. Но гораздо реже понимают то, что существует и более общий принцип: при наличии выбора из нескольких языков ошибочно программировать на чем-то, кроме самого мощного, если на выбор не влияют другие причины. (с) сорс
Поэтому при прочих равных брать асм плохой выбор, потому что совершенно очевидно что по критерию мощности языка PHP выше ассемблера. А из этого следует вывод: чтобы писать на асме было оправданно, не должно выполняться условия «прочей равности», а значит у него должны быть серьезные преимущества. Причем чем ниже мощность языка (а у асма она очень низка), тем серьезнее должны быть эти причины. Это я и имел ввиду, когда говорил про того, кто «должен» доказывать, хотя конечно же ни о каких реальных долгах речь не идет.
Заранее уточню, что мощность языка — это не то, сколько с его помощью можно сделать, а насколько выразительными являются составляющие его термы.Source
11.01.2017 23:50Кстати, странно, что мало проектов используют самый мощный язык (Lisp), или хотя бы языки с полноценными AST-макросами, как следующие за Lisp по мощности. Это действительно интересная загадка..
PsyHaSTe
11.01.2017 23:59Тут как раз и есть эти самые «другие причины» — наличие библиотек, коммьюнити, документаци… Не говоря уже о том, что сами эти языки понемногу впитывают в себя идеи лиспа и наследников. В том же C# это сильно чувствуется.
Source
12.01.2017 00:22+1Тут как раз и есть эти самые «другие причины» — наличие библиотек, коммьюнити, документаци…
Да ладно… Это где вам библиотек/документации не хватает? В Common Lisp, в Racket или в Clojure? Комьюнити небольшие, но это скорее следствие малой распространенности, а не причина.
Не говоря уже о том, что сами эти языки понемногу впитывают в себя идеи лиспа и наследников. В том же C# это сильно чувствуется.
Там скорее идеи ФП в целом и OCaml в частности… Хотя лисп настолько глобален, что где только его идей нет…
Source
11.01.2017 23:15+1По сути индустрия уже расставила приоритеты. Самая суровая низкоуровнищина, которая применима в HighLoad-проектах — это демоны на C++. И то они нужны может в 1 проекте из 100 тысяч.
Siemargl
12.01.2017 03:37Индустрия все же меняется.
Сначала растет как мыльный пузырь — лишь бы быстрее, потому устаканивается корректируя ошибки.
Я бы поставил на простой и удобный, строго типизированный компилируемый безопасный язык по идеям ADA, Oberon.
Java в вебе — хороший результат коррекции, но будет что то лучше.
Например из моего ряда нормально прогрессирует Go, и неплохо — D, есть попытки у Rust
Source
12.01.2017 11:54+2Согласен, индустрия меняется… Если про веб говорить, то сначала хватало html-файликов, потом решили, что неплохо бы их генерировать на лету, потом посещаемость и сложность сайтов стала расти год от года и сейчас уже пришли к классической трёхзвенной архитектуре с толстым клиентом. Благодаря тому, что нагрузки веб-проектов и объемы БД растут, есть запрос на быстродействие. Но я бы тут поставил на функциональные языки, т.к. обработка веб-запросов — это по сути функциональная задача.
Ghivan
12.01.2017 00:21-6имена собственные на то и имена собственные, чтобы их правописание и произношение регулировал тот, к кому относится то либо иное название/имя. То же самое если бы мы вдруг начали называть Российскую Федерацию Русской Федерацией. (что-то вроде «язык же русский, так почему страна российская). Потому как употребляют название нашей страны в официальных СМИ можно сказать многое о грамотности этих самых людей.
Резюме: в беседах между собой называйте, как позволяет воспитание и грамотность, в официальных заявлениях придерживайтесь того, что говорят в самой стране о ее названии.
p.s. Пишу с мобильника, не нашел, где ответить в соответствующую ветку. Заранее извините за оффтоп, просто накопилось. Мы не диктуем правила русского языка, просто называйте нас так, как мы себя называемtema_sun
12.01.2017 01:28+3Хабр — это и есть беседы между собой.
Ghivan
12.01.2017 01:33-2Я скорее писал для тех, кто раглагольствовал о правилах русского языка и аппелировал к тому, что "я русский и как хочу, так и называю, потому что это мой язык, а мнение тех, с кем я при этом общаюсь мне по барабану"
MacIn
12.01.2017 02:59+2Создайте свой русский язык, с блэкджеком и шлюхами. Устанавливайте какие угодно правила написания и произношения. Профит.
Но это только после того, как заставите англичан и американцев говорить «Москва» и писать Moskva, а не Москоу, понимаешь ли.
MacIn
12.01.2017 02:58То же самое если бы мы вдруг начали называть Российскую Федерацию Русской Федерацией
Russland или Русише Федерацион? Не, не слышали. Как в загранпаспорте пишется, скажем, Александр? О, Alexander внезапно.Ghivan
12.01.2017 07:44Мы говорим о русском языке. Это раз. Поэтому не понимаю, при чем здесь русланды и иже с ним, а уж тем более не понимаю, зачем учить англичан говорить Москва, если в своих же уставных документах россияне пишут именно Moscow. Это два.
Твердолобостью отличаются только русские товарищи. Ниже я привел ссылку на сайт ООН. Кроме того, посмотрите, как пишут крупные иностранные СМИ: Republic of Belarus. Это три.MacIn
12.01.2017 07:52+1Мы говорим о русском языке. Это раз. Поэтому не понимаю, при чем здесь русланды и иже с ним,
А — аналогия. Белорусы-русский язык, русские-немецкий язык.
а уж тем более не понимаю, зачем учить англичан говорить Москва, если в своих же уставных документах россияне пишут именно Moscow. Это два.
Потому что в английском языке именно так. И указывать англичанам как по-английски писать — глупо.
Твердолобостью отличаются только русские товарищи
Не-а. Белорусские. Русские товарищи не учат англичан, как правильно писать «Москва» по-английски. В отличие от.
Ниже я привел ссылку на сайт ООН.
Правила русского языка устанавливаются не в ООН. Не говоря уже о том, что в разных республиках есть свои нормы русского языка, как бы это ни было смешно.
Кроме того, посмотрите, как пишут крупные иностранные СМИ: Republic of Belarus. Это три.
А мы все еще
говорим о русском языке. Это раз.
?
Не знал, что в русском языке используется латиница… Транслит чтоль?Ghivan
12.01.2017 07:59-2Согласен, не все способны разворачивать мысль. Был неправ, не поставил закрывающую скобку. Исправляюсь."Кроме того, посмотрите английский язык...."
В первую очередь, когда в иностранном языке хотят посмотреть название страны, смотрят нет ли самоназвания у этой самой страны на ИХ языке. Только после этого начинают выдумывать.
Ghivan
12.01.2017 08:21-2И еще, такие рассуждения похожи на диалог:
-привет, как тебя зовут?
-Петя
-Хорошо, я буду звать тебя Вася, у меня так правильноChiefPilot
12.01.2017 13:13+4— Привет! Как тебя зовут?
— Беларусь.
— А, Белоруссия, значит.
— Нет! Я Беларусь! Зови меня так.
— Не, не могу. Иначе мне придётся звать Германию — Дойчландом, Великобританию — Грейт Британ'ом и ещё кучу всего не так, как у нас принято.
Вы просто не понимаете, что Беларусь это тот же Дойчланд для нас. А непонимание происходит, видимо, из-за того, что если с Дойчландом всё очевидно и интуитивно (это немецкий язык и немцы так про себя говорят), то Беларусь надо разжевать. Беларусь — это так белорусы про себя говорят (тут также, как и немцы), а язык хоть и тоже (якобы) русский, но это… как бы это сказать?.. — белорусский русский! Вот и всё отличие! Неочевидность в том, что в отличие от немцев с явно другим языком, белорусский русский не воспринимается Вами другим языком (а нами, видимо, хотя бы некоторыми представителями — воспринимается). Вы пытаетесь перенести нормы белорусского русского, в русский русский.
И напоследок: посмотрите, как сильно отличается английский язык в разных странах (даже в тех, где он официальный язык) и попробуйте понять то, что я выше пытался объяснить.sl_bug
12.01.2017 15:15-3Если Бундестаг примет закон о том что название их страны не переводится, а транслитерируется, то все будут писать Дойчланд, кроме жителей РФ?
ChiefPilot
12.01.2017 15:42-1А как будут писать на языках, где гласные не пишутся? (я уж не говорю про другие возможные но не такие явные трудности при «транслитерации») Вы что-то совсем странное придумали…
sl_bug
12.01.2017 16:08-2Есть правила транслитерации. Именно поэтому в русском Кот-д’Ивуар, а не Берег Слоновой Кости. И Беларусь, а не Белоруссия.
Azoh
12.01.2017 15:45+1А если Бундестаг примет закон о том, что все жители Земли должны каждый год выплачивать процент с дохода в казну Германии, то что? Все будут оплачивать?
sl_bug
12.01.2017 16:18-3Название страны на её родном языке, а так же на других языках регулируется законами этой страны. Такие нормы международные. Так же будет если РФ примет закон что название страны должно транслитерироватся. Не будет больше Russian Federation.
sl_bug
12.01.2017 16:23-1http://laws.newsby.org/documents/laws/law1297.htm — если кому текст закона интересен (нет)
Azoh
12.01.2017 17:48Вы, надеюсь, понимаете, что есть язык, а есть некое подмножество, которое можно использовать для официальных документов? И что это подмножество создано искусственно, в отличии от языка?
Законами страны еще можно попытаться контроллировать язык в пределах этой страны (и это сомнительная с точки зрения этичности практика), но остальным от этого ни холодно, ни жарко.
Я не против названия "Беларусь", звучит куда лучше "Белоруссии". Но это мои предпочтения. Язык же разивается коллективно, усилиями его носителей. Не посредством законотворчества (хотя многим бы хотелось). И даже не усилиями составителей правил языка (хотя еще более многим хотелось).
В общем, чем пытаться носителям языка указать на законы, лучше применять другие способы популяризации названия. В конечном счете, мат сколько пытаются запретить, а вот @#$ бы там.
sl_bug
12.01.2017 17:52-3А вы понимаете, что в 1991-м году страна изменила свое название с БССР, на Республика Беларусь. И новое название не имеет никакого отношения к похожему названию Беларуссия. Ну вот совсем никакого. Это как в английском apple и pineapple. И вместо того чтобы использовать новое название, вы продолжаете использовать старое. Вот и всё, при чем тут нормы языка?
sl_bug
12.01.2017 18:03-3Ну или вот другая аналогия. Жил бы мальчик Пётр. Пошёл в паспортный стол и официально поменял имя на Пятро. Но все продолжают называть Пётр. Вроде ничего страшного (человек не поменялся же, да и по русски Пётр правильнее), но человеку наверное обидно, не зря же он имя менял, были причины значит.
MacIn
12.01.2017 14:41-1Нет, на диалог на французском:
-привет, а откуда ты?
-из Paris [парИ]
-ты пишешь и говоришь неправильно, надо Parizh, у меня так правильно.
Alex_Hi
12.01.2017 15:53А у меня на карте вообще весело. Мне лично нравится как раз "Alexander", что можно понять из моего никнейма. Но на карту мне решили написать "AlexanDR"! Хотя в анкете и было написано правильно. -_-
georgevp
12.01.2017 06:52http://kremlin.ru/events/president/news/53308
georgevp
12.01.2017 07:05RE: Найти официальный документ на русском языке.
markmariner
12.01.2017 11:19+2Это всё прикольно, конечно, сайт на ассемблере.
Но на Хабре было бы очень круто, если бы рассказ был не о том: я сделал и у меня получилось, а о том, как оно всё работает, с чего начать, если я решился сам написать сайт на ассемблере и вообще, как всё это работает. :)johnfound
12.01.2017 11:33+4Может и напишу. Но это несколько труднее и отнимет больше времени. К тому же, неясно насколько это будет интересно людям. Мне кажется, что есть лучшие темы — например рассказ о том как программировать GUI с ООП на ассемблере.
el777
17.01.2017 11:33Когда-то давно в школе программировал на ассемблере, поэтому показалось интересным как его можно использовать для веб.
На мой взгляд, вам удалось ускорить один фрагмент — обработку запроса в приложении.
Но при этом:
— используется апач
— нет кеширования
— нет возможности распределения горизонтально
То есть, на мой взгляд, тут скорее проигрыш по производительности.
(я намеренно оставил за скобками остальные вопросы: безопасность, удобство и скорость разработки и пр.)
Имхо, более интересно использовать Go (некоторые считают его «правильно сделанным С») и получится достаточно низкоуровнево и быстро и уже есть набор инструментов для решения общих задач. Пусть он пока сырой, но ведь именно это и интересно? :)johnfound
17.01.2017 11:51— используется апач
— нет кеширования
— нет возможности распределения горизонтальноАпач – это просто демо. Если надо делать для реального форума, я конечно выбрал бы RWASA, lighttpd или nginx.
Кеширование чего? Там есть кеширование HTML постов в БД (чтобы не рендировать markdown каждый раз) и правильно сделанное кеширование на стороне клиента. Кеширование запросов применяется главно, потому что скрипты выполняются медленно на сервере. В случае с ассемблером, это не так.
Горизонтальное масштабирование вполне возможно – FastCGI это поддерживает.
el777
17.01.2017 12:21Кешировать надо не только скрипты, а базу.
Здесь вам придется писать кучу логики самостоятельно, подключения к мемкешам/редисам и пр.
С горизонтальным масштабированием проблема в SQLite. Либо нужно менять базу и пулер коннектов ставить.johnfound
17.01.2017 13:18С горизонтальным масштабированием проблема в SQLite. Либо нужно менять базу и пулер коннектов ставить.
Конечно в SQLite. Но во первых заменить ее примерно на MySQL не так уж и сложно и во вторых есть и клиент-сервер решения совместимые с SQLite.
И вообще, стоит вопрос зачем масштабировать? Если установить AsmBB на отдельном сервере с мощном многоядерном процессоре и SSD, а веб сервер на втором, производительность хватит на многотысячном форуме и гигабайтной БД.
terryP
18.01.2017 17:25+1И вообще, стоит вопрос зачем масштабировать? Если установить AsmBB на отдельном сервере с мощном многоядерном процессоре и SSD, а веб сервер на втором, производительность хватит на многотысячном форуме и гигабайтной БД.
Ооо, а ничего что многотысячный форум и гигабайтная БД даже на PHP работает на шаред хостинге? Я понимаю если бы вы говорили о сотнях запросов в секунду и терабайтных БД на слабой VDS'ке, но ДВА МОЩНЫХ сервера для ОБЫЧНОГО форума и весьма небольшой БД? Вы серьезно? С таким забиванием гвоздей микроскопом можно взять вообще самый медленный язык и все равно выиграть.
andreymal
Хостинг предельно слабенький это какой? Без этого выводы делать проблематично.
У меня тут есть не самый мощный VDS с не самыми оптимизированными сайтиками на не самых оптимизированных Python 2/3 и примерно 120 тысячами запросов в сутки с околонулевой нагрузкой на проц, так что даже не знаю
johnfound
Я не писал насчет хостинга, потому что это обсуждалось в первой статьи. Он не VDS, а shared hosting.
Подробности можно увидеть и на сайт провайдера: план СуперСтарт
terryP
С shared hosting проблема в том что его производительность сложно померить. Если VDS или работает или нет, то shared hosting может упасть не по вашей вине, а от загрузки соседа или пережить толпу народа. Лимиты тоже мало что скажут, все будет зависит от какой конфигурации эти лимиты.
vlanko
Судя по цифрам, у ассемблерного сайта средняя загрузка процессора была 1% а самый тяжелый день.
terryP
Это CPU shared hosting'а, а shared hosting даже с честными лимитами сложно мерить в «попугаях».