Pull to refresh

Comments 63

XenForo как бы платный если что. Это альтернативно идеологическое vB от авторов самого vB, насколько я знаю (после продажи JelSoft)
UFO just landed and posted this here
Я так понял автор (текста) решил его (список) поправить. По качеству кода — да, поддержу. Впрочем vB на самом деле был тоже довольно неплох архитектурно
JelSoft — это компания разработчик vBulletin, которую потом продали, после чего оригинальные разработчики vB создали XenForo.
Интересно почитать статистику и о других серверных языках программирования. Какое место занимает JavaScript (NodeJS), Ruby (Rails) и т.п.
А меня лично интересует распространенность NodeJS и Python :)
Поддерживаю! Удивился не увидев их в списке…
Rails, Python и т.п. не светят себя в PoweredBy заголовке, поэтому их сложнее выявить.
Фреймворки обычно светятся в PoweredBy, а там уже можно определить какой и язык.
Не буду утверждать для всех фреймворков, но Sails для NodeJS светится.
Так же вроде светиться express.js, видел его пару раз
Мне кажется, большинство фреймворков как раз не светится там.
Я обычно вижу php светится там. Те же Rails, Python я там никогда не видел. Их модули иногда бывают в заголовке Server, но это всего лишь означает, что есть такой модуль для Apache.
Виной тому, мне думается, пассивный метод защиты от хакерских атак, когда сервис на Pythone, Ruby и т.д. настраивают так что он виден как PHP ресурс.
Почти 80к серваков на винде *facepalm*
И что же такого ужасного в винде, только без бредовостей, а объективно, пожалуйста.

А вот преимуществ навалом —

1. Байт-кодный и почти нативный для оси ASP.NET с кучей приложенных плюшек и интеграцией с IDE по самые гланды

2. MSSQL, который умеет по-человечески работать с большими объемами (если не верите, попробуйте сделать ALTER TABLE на таблице хотя бы в 3 гига — мускуль будт это делать часами, MSSQL — секунды).

3. Поддержка от MS, которая, в отличие от вашего linux-хостера, готова оперативно решить проблемы. (Например, фикс найденного нами бага с переполнением буфера, который, по сути, не является ни фатальным, ни опасным, был уже в первом обновлении после нотиса)

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

5. Хорошая поддержка железа. CUDA на винде работает лучше. Раза в полтора точно, а на некоторых тасках и во все 2 раза. Считайте, сэкономили на второй тесле, которая стоит 123 тысячи рублей.

На фоне всего этого, дополнительная трата в 30к рублей окупается очень быстро.
дополнительная трата в 30к рублей окупается очень быстро.

Это цена лицензии на что?
Windows Server 2012 Standart.

Но он нам по цене подписки MSDN достался, так что мы свою копию Essentials получили считайте почти на халяву.

Кстати, обновились с 2008 до 2012 — ничего не отвалилось. Т.е. вообще ничего. А теперь попробуйте с 10 убунты на 12 перелезть — врядли у вас все проблемы закончатся после «Далее->Далее->Готово»
К сожалению, эта халява не будет длиться вечно.

А теперь попробуйте с 10 убунты на 12 перелезть — врядли у вас все проблемы закончатся после «Далее->Далее->Готово»
У меня на ноуте несколько лет подряд стояла Ubuntu. Проблемы заканчивались на, как вы говорите, «Далее->Далее->Готово». Один раз, после перехода с 13 на 14 (а может и с 12 на 13) версию у тачпада поменялся сценарий работы, меня это жутко бесило первые несколько дней, но быстро привык.

С серверной Ubuntu проблем меньше, чем с виндой. Винду же по каждому пуку надо перезагружать, а в линукс может установить серьёзные обновления без перезагрузки.
>> Винду же по каждому пуку надо перезагружать,

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

И да — странно что вы без проблем обновились с 10.04 до 12.04, т.к dist-upgrade даже не попытался, намекая, что подобное лучше делать методом «Reinstall from scratch»

с 12 на 13 поломался automake и обновился gcc, что доставило немного радости от созерцания полотнища нотисов и ворнингов в идеально собирающейся до этого программе.

Так у нас поселился debian, который всегда просто debian, без этих ваших цифр.
Давно не правда. Перезагрузка требуется только после установки некоторых категорий драйверов и для установки некоторых системных обнов, т.к. винда не в состоянии выгрузить ядро и при этом продолжать жить. Так что не аргумент.
Win Srv 2008R2. Просит ребута после установки роли «DNS-сервер» и «Файловый сервер». Я был слегка шокирован
Справедливости ради — делал очень много раз апгрейд с 10 на 12, проблемы возникли дважды. Один раз — новое ядро по какой-то причине поменяло uuidы дискам, второй раз — на хосте виртуальных машин, когда поменялся формат конфигов kvm (не помню точно что там было, но чтобы понять почему виртуалки не запустились, пришлось потратить время).
Все это, конечно, хорошо звучит, но для того чтобы поддерживать windows-стек в актуальном состоянии в долгосрочной перспективе необходимо учитывать будущие финансовые вливания (апгрейд на новые версии различных продуктов, продление подписки MSDN, увеличение инфраструктуры в перспективных проектах), Риски тоже на мой взгляд являются важным фактором. Живой пример, сейчас в моей компании (легкая металлургическая промышленность) топ-менеджмент обсуждает возможные санкции со стороны MS и Oracle, в общем начинают задумываться об альтернативных решениях.
И что же такого ужасного в винде, только без бредовостей, а объективно, пожалуйста.
Вы спрашиваете? На самом деле мне винда нравится, но на ПК, а не на серваке. И мне не нравятся остальные продукты от мелкософта. Они просто ужасны (за исключением офиса и VS).

5. Хорошая поддержка железа. CUDA на винде работает лучше. Раза в полтора точно, а на некоторых тасках и во все 2 раза. Считайте, сэкономили на второй тесле, которая стоит 123 тысячи рублей.
Для веб-сервера на винде нужна видеокарта? И надо чтобы у этой видеокарты была поддержка CUDA? Не понимаю, зачем?!

2. MSSQL, который умеет по-человечески работать с большими объемами (если не верите, попробуйте сделать ALTER TABLE на таблице хотя бы в 3 гига — мускуль будт это делать часами, MSSQL — секунды).
Делал и более страшные вещи на PG, отрабатывало быстро. Вы только не пугайтесь, я сейчас страшилку буду рассказывать:
страшилка
Делал как-то ALTER TABLE на табличке размером в 4 гига, для меня это не было чем-то необычным, всё отработало довольно быстро (что-то в районе одной секунды).
Скорость таких вещей зависит от многих факторов:
— Состав ALTER TABLE
— Количество индексов
— Мощность железа и скорость доступа к винчестеру

2. MSSQL, который умеет по-человечески работать с большими объемами (если не верите, попробуйте сделать ALTER TABLE на таблице хотя бы в 3 гига — мускуль будт это делать часами, MSSQL — секунды).
Если вам нравится платить, то есть платные сборки и есть бесплатные сборки с платной тех. поддержкой.
Пардон, скопипастил не тот кусок комментария, вместо последнего комментария должен быть вот этот кусок:
3. Поддержка от MS, которая, в отличие от вашего linux-хостера, готова оперативно решить проблемы. (Например, фикс найденного нами бага с переполнением буфера, который, по сути, не является ни фатальным, ни опасным, был уже в первом обновлении после нотиса)
Мы можем долго спорить о преимуществах и недостатках винды и чего-либо ещё, это старая тема холливара. Но количество людей советующих и выбирающих в качестве серверной ОС именно Linux значительно больше и этот выбор не безосновательный.
хабрасуицид
Давайте, сливайте мне карму, чёртовы адепты мелкософта!
Согласен, что выбор linux для серверной ОС имеет веские основания, хотя бы потому что на линуксе хорошо работает большинство серверного софта, а не конкретный стек технологий, под эту ОС заточенный. Но списывать винду со счетов рановато, есть определенные преимущества.
Но списывать винду со счетов рановато, есть определенные преимущества.
Например?
Первая киллер фича винды — Active Directory, что гарантирует винде место на большей части обслуживающих домены серверов.

Вторая — это моно-платформенность некоторых трейдинговых платформ (это для меня скорее актуально, чем для большинства читателей хабра)

Ну а третья — это MSSQL.

Вы тут попытались скинуть на индексы и железо, но разница принципиально в другом направлении.
MSSQL лишь изменяет структуру описания таблицы, MySQL же реально резервирует память под добавленные поля.
Но это ладно, не так часто надо, по сути, вот то, что действительно круто сделано — это реплицирование.

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

MSSQL же содержит на борту магию, при 10G каналах способную фиксировать отставание на 150-200 мс. И все это без каких-либо локов.

Ну а мускуль… Мускуль сдался на двухсотом гигабайте. Отвечать-то отвечал, но диск насиловал очень рьяно, да и вообще вел себя пакостно, норовя при каждом непродуманном джоине задуматься до таймаута.

MSSQL без проблем переварил этот объем, а анализ данных стало возможно проводить не боясь уложить реплику.

Но в конце концов все равно стали реплицироваться в монгу (еще кстати одна классная фишка MS), и сейчас уже полностью на нее перешли, заменив монструозные запросы на не менее монтруозный map-reduce, но это уже другая история.

Я разве упоминал MySQL? Я писал про PG! А это совершенно разные вещи.
В PG есть масса вариантов и инструментов для реплицирования.
А в MySQL репликация вообще недавно только появилась…

MongoDB — действительно клевая вещь!

Насчёт первой киллер-фичи в виде Active Directory не совсем понял. Я сейчас е**сь с Microsoft Windows Azure Active Directory (вы же про этот Active Directory? А то их там много всяких разных...) по работе и это тот ещё геморрой. Документация на русском отвратительная, нигде нет четкого ответа куда и с какими параметрами сделать запрос, чтобы было счастье, зато есть куча клик-гайдов о том как сделать проект на Microsoft ASP.NET MVC 4 и, как говорят, после этих клик-гайдов должно настать счастье, но! Для нас это означает расширение зоопарка технологий и привязка к вендору ради одного редиректа на нужный адрес… Как вы догадались, мои впечатления, пока, не самые хорошие.

Я вообще искренне не понимаю зачем нужен Microsoft Windows Azure Active Directory и Microsoft SharePoint… Кто ими пользуется? Зачем они это делают? Может вы объясните?)))

И зачем они дают своим продуктам такие длинные названия?)))
Конечно, извиняюсь, что встреваю в высокорелигиозные споры, но MongoDB и любую реляционную БД сравнивать бессмысленно, — это разный формат для разных целей и если сравнивать по производительности, — на данный момент проигрышный любой крупной реляционной БД.
Полностью согласен.
Но мы и не сравниваем их:)))
Это просто хорошая вещь:)
Вы тут попытались скинуть на индексы и железо, но разница принципиально в другом направлении.
MSSQL лишь изменяет структуру описания таблицы, MySQL же реально резервирует память под добавленные поля.
Но это ладно, не так часто надо, по сути, вот то, что действительно круто сделано — это реплицирование.

Так-то вы сравниваете софт из разных «весовых категорий». Более уместно будет сравнивать MSSQL с PostgreSQL.
Что я и сделал. Ещё в сравнение можно добавить Oracle. PG, кстати, в некоторых местах похож на Oracle.
5. Хорошая поддержка железа. CUDA на винде работает лучше. Раза в полтора точно, а на некоторых тасках и во все 2 раза. Считайте, сэкономили на второй тесле, которая стоит 123 тысячи рублей.


Вот это новость.
А подробнее, а то вроде народ из top500 ещё не в курсе?
Т.е. любая cuda программа работает на вин в 1.5 раз быстрее?
Можете дать ssh доступ в windows машине с теслой временный для проверки,
а то мы мучаемся с linux?
В зависимости от реализации бенчмарков и версий драйверов результаты разнятся от 50% прироста на винде до 10-15% прироста на линуксе из-за оверхеда WDDM.

Наши бенчи, написанные на C++ быстрее исполнялись на винде для нашей задачи (нейронка с ассоциативной памятью + несколько классификаторов) (разница была где-то процентов 30-40), что получилось благодаря использованию TCC. Без него винда проигрывала примерно ту же треть. Начали копаться, поняли что почему-то линукс версия оставляла около 400 ядер свободными для K20, и при это периодически и весьма рандомно значительно падала скорость передачи данных по порту. Проблема, кстати, известная со времен появления оптимизированных дров года 2 назад.

Потом еще нашли кучу статей по оптимизации кода, под винду там было больше различных советов, внедрили что получилось, в результате — выполнение анализа минутного среза данных стало занимать около 50 секунд по сравнению с 2-мя минутами на линуксе.

Конечно, часть прироста можно списать на значительный рост знаний в этой области, но даже запуск нашего таска 1-в-1 в правильном окружении давало буст на треть — и это заслуга в первую очередь именно драйверов, т.к K20 еще довольно свежая железяка.

Ну а насчет top500 я бы не утверждал что все они не в курсе, в их случае простота управления linux кластером перевесила прирост производительности.

Со временем, конечно, драйвера допиливают, и linux вплотную приближается к винде, но когда это произойдет, вы уже скорее всего пойдете покупать железку на 10 терафлопс. а не на нынешние жалкие полтора, и проблемы с дровами повторятся.

Ах да, Windows 7 даже не рассматривайте в качестве тестовой платформы — на ней по хз каким причинам WDDM не отключается, что приводит почти к двукратному падению вычислительной мощности.

Что касается SSH — не дам ни под каким предлогом, мы с нее пылинки сдуваем, это наш единственный способ зарабатывания бабла, т.к. быть вторыми — это работать в 0 или даже минус, потому что некоторые конкуренты в состоянии противопоставить нашей шустрой малышке кластер из 10 злобных германских MX120-SSD. У них преимущество в канале, у нас — в скорости. Мы ведем на 20 секунд, и именно из-за них формируется больше половины доходов компании.

Вот в принципе все что могу рассказать вам, не раскрывая NDA, если что, приходите в гости лет через пять, угощу вас чаем и расскажу как за пару секунд сделать чистыми свою месячную зп :)

Именно. И до тех пор, пока большинство производителей железа будут концентрироваться на поддержке винды в первую очередь, данная тенденция будет сохраняться.
Если бы кластеростроители из top500 узнали бы, что на платформе вин просто из-за драйверов получается прирост в 30-40%, они бы маму родную продали а винду бы поставили, как минимум бы на время прохождения тестов в топ500 :-)
Потому как 30-40% это сразу к примеру из второй десятки списка попасть в первую,
или со второго места на первое (но так было год-два назад, когда на теслах начали строить большие кластера).
Чего совсем не наблюдается.
Так что позвольте усомниться.
Ваше пояснение для меня означает, что попотев и оптимизировав код под вин систему и вин компайлер можно добиться прироста в 40% в сравнении с неоптимизированным кодом в linux. В это верю :-)
Ну раз нету ssh, покажите простой результат в nbody из nvidia sdk:
nbody -benchmark -numbodies=196608

У меня под рукой есть только tesla k20m, вот результат:
GPU Device 0: «Tesla K20m» with compute capability 3.5

> Compute 3.5 CUDA device: [Tesla K20m]
number of bodies = 196608
196608 bodies, total time for 10 iterations: 5751.565 ms
= 67.207 billion interactions per second
= 1344.146 single-precision GFLOP/s at 20 flops per interaction

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.0, CUDA Runtime Version = 5.0, NumDevs = 1, Device0 = Tesla K20m

Если Ваши слова верны, у вас должно получиться около 1800 GFLOP/s на любом K20.
> Compute 3.5 CUDA device: [Tesla K20c]
number of bodies = 196608
196608 bodies, total time for 10 iterations: 4941.744 ms
= 91.993 billion interactions per second
= 1839.986 single-precision GFLOP/s at 20 flops per interaction

Я компилил с -ftz=true, до этого было около полутора тысяч.

Кроме того, бенч не отображает реальной картины происходящего. Этот рандомный баг с провисающим каналом на линуксе нередко проявляется, на винде еще ни разу не было.
Я компилил с -ftz=true, до этого было около полутора тысяч.

Не-не, чур с опциями не баловаться :-) Так у меня тоже получается около 1540 GFLOP/s.
Если брать по-умолчанию опции sdk 5.0, то примерно 1340 против 1500, 10%, что всё-равно много и для меня странно :-)
Вроде k20m и k20c архитектурно не должны отличаться:
Device 0: «Tesla K20m»
CUDA Driver Version / Runtime Version 6.0 / 5.0
CUDA Capability Major/Minor version number: 3.5
Total amount of global memory: 4800 MBytes (5032706048 bytes)
(13) Multiprocessors x (192) CUDA Cores/MP: 2496 CUDA Cores
GPU Clock rate: 706 MHz (0.71 GHz)
Memory Clock rate: 2600 Mhz
Memory Bus Width: 320-bit
L2 Cache Size: 1310720 bytes
3. Поддержка от MS, которая, в отличие от вашего linux-хостера, готова оперативно решить проблемы. (Например, фикс найденного нами бага с переполнением буфера, который, по сути, не является ни фатальным, ни опасным, был уже в первом обновлении после нотиса)
Нет. В опенсорсе баги тоже закрываются очень быстро.

Даже круче. В некоторых open source проектах, в особенности тех, что есть на гитхабе, можно не только о багах докладывать, но и свои фичи предлагать, обсуждать их и т.п. Это киллер-фича открытых проектов.
Ну и сравнивать не стоит проприетарный софт, исходный код которого закрыт и не известно каких закладок туда навтыкали с софтом с открытыми исходниками, где можно все посмотреть и все изменинить.
А тем временем PHP 5.5 уже почти как год основная релизная версия.

Как, глядя на улучшения в 5.5 можно продолжать писать на 5.3, я не понимаю. Да не только писать, еще и на проде вручную ставить — убунта из коробки давно ставит 5.4

Это получается люди сами себе грабли делали. Грустно это, товарищи, стыдно должно быть за коллег.
Данные о возрасте доменов у нас, кстати, есть, мы ее использовали для исследования счетчиков.
А что можно ожидать, если мы приложим ее для сайтов на PHP?

Из невошедшего в основной текст:
PHP 5.0 — 298 доменов (то есть, как говорят, «встречается в следовых количествах»);
PHP 4.3 — 7735 доменов.
Хм… ну вот сайт моей разработки на php хостится где-то (agava)… я даже версию языка не знаю и даже не скажу чем 4.3 от 5.5 отличается (верю, что много чем). Причина простая — это не мой основной язык программирования (я уже больше 3х лет на нём почти не программирую — так, что по мелочи).
а) легаси код — и самописный, и движки, и фреймворки, которые работу даже с 5.4 не гарантируют
б) админы сами ставят оси, в которых из коробки 5.3
Хостерам наплевать на эти 5.5. Как были у них *BSD и прочие deb-old-stable, с 5.3 на борту, так и остаются.
И останутся еще долго.
Ситуации разные бывают.
Например, недавно одному из клиентов потребовалось переехать с managed хостинга одного хостера на их же dedicated (менять хостера они не хотели, бухгалтерия и все дела). Так вот выбор ОС у этого хостера был довольно интересный: ubuntu 13.x, CentOS 6.4, FreeBSD 8.3. 13 убунта по понятным причинам отпала. Так как у задач есть строки, а я с FreeBSD не знаком, то она тоже отпала. Методом исключения остался староватый CentOS, у которого в репах php 5.3.3.

P.S.: мне кажется, что довольно большая часть этих метрик была снята с шаред хостингов, многие из которых не могут похвастаться последней версией php.
P.P.S: промахнулся кнопкой. Это ответ на комментарий выше.
Странно что отпала убунта.

FreeBSD — классная операционка, тупо ее использование при абсолютно одинаковых конфигах дает прирост процентов 10, а jail — это невероятно крутая вещь, особенно если на одной машине несколько независисмых сервисов.

Что касается центоса — как-то раз случайно пролил кофе на сисадмина, отказавшегося ставить 5.4 из нестандартных реп, в то время как локальная версия уже была готова к деплою и написана на 5.4.

Когда я налил новую чашку и подошел к нему для очередного раунда переговоров, на серваке уже стояла 5.5, что потребовало изменения одной строчки в конфиге и пары команд в консоли.

Я согласен, есть stable репы — они есть и у дебиана, только вот даже сами создатели советуют использовать unstable, потому что все больше разработчиков забивают на поддержку даже критических обновлений в предыдущих версиях своих продуктов.

Помните что произошло за последние 2 года (несколько ошибок, способных привести к отказу сервера после выполнения некоторых запросов, проблемы с OpenSSL, введение JIT прекомпиляции PHP в промежуточный байт-код)

В итоге получается что «stable» способен уложить любой школьник с базовыми навыками гугла, и при этом еще этот «stable» тормозит как 386 с windows XP.

Надо ли вам это — решайте сами, я принципиально перестал пользоваться центосом по этой причине, ну еще немного потому что это не линукс, а редхат с его традиционным «я редхат, а значит положил болт на все ваши привычки и знания о юниксах». Как говорил один мой знакомый техдир — «если знаешь убунту, ты знаешь линукс, а если знаешь редхат — то знаешь только редхат».
Ну вы бы хоть немного фантазии ограничивали — не встанет WinXP на 386ой — тупо по ограничению минимального объёма памяти. На 486dx100 теоретически загрузить можно, но не уверен.
В оригинале ЕМНИП «Если ты знаешь Slackware...». В Убунте очень много всякой убунто-специфической фигни
я что-то не понял, почему только ASP.NET и PHP, где остальные языки?
Мы всего лишь фиксируем то, что написано в заголовке «X-Powered-by». А он, как известно, настраиваемый (в том числе скрываемый).
И там может стоять указание на используемый язык программирования, конечно, не только PHP, а к примеру, «Servlet» (2327 доменов), может быть указание типа «LiveStreet» (1831 доменов) — PHP-движок для создания коллективных блогов и для социальных сетей (и подобных указаний на разные CMS много), а может быть вообще шуточная надпись, как у одного хостера, который там штампует слово «pizza» (бывает и не такое).
Я из этой «руды» выделил осмысленный, на мой взгялд, результат — «парад» различных версий PHP.
Достаточно странно ориентироваться на этот заголовок — apache tomcat по умолчанию его не проставляет. Таким образом Java вообще в пролёте?
Недавно видел в комментариях к какой-то статье (тоже со статистикой вроде) на хабре, в котором была ссылка на сервис, который вполне справляется с определением, что «на сервере nginx, за ним стоит tomcat (с java),… ещё что-то»
Удивился увидев наше поделие ;)
А вы данные исследований куда-то в паблик складываете, чтобы динамику изменений можно было глянуть?
Динамику собираем в XLS-таблички с августа 2013.
Никуда не выкладывали пока. Правда, нужно? Тогда попробуем организовать такое на своем домене.
За других говорить не могу, но меня динамика очень интересует. Но почему-то кажется, что такая информация будет пользоваться спросом.

Ну вот банальный пример: планируется новая версия движка на PHP, на ее разработку уйдет какое-то время. А под какую версию PHP ее делать? Какие СУБД поддерживать? Для этого мало знать картинку на сегодня, крайне желательно еще учесть и тенденции. Понятно, что на 100% не угадаешь, но видя динамику изменений и владея какой-то дополнительной информацией, можно построить свой прогноз и уже на его основе принимать решения
Ещё по прошлой статье про CMS было понятно что веб это PHP :)

А за сколько дней ваш краулер собирает все метрики по всем доменам?
У нас пять краулеров, один из которых («большой краулер») преимущественно собирает сигнатуры счетчиков, рекламных систем, онлайн-консультанотов, карты на сайт и всяческие виджеты, кнопки соцсетей, агрегаторов. Он же собирает и технометрики.
Краулер работает в ежемесячном цикле и успевает решать за календарный месяц все задачи. Собственно сбор и обсчет технометрик занимает пару дней, но поскольку все задачи запараллелены, «размазаны» по месяцу (и разложены на 72 процессорных ядра), то вопрос вышел по сути некорректный, так что ответил, как мог.
Sign up to leave a comment.