У меня сейчас оба варианта хостинга - Windows и Linux, от одного и того же хостера. Я пользуюсь обоими уже на протяжении пяти лет и недавно принял для себя очень важное решение - я планирую отказаться от Windows хостинга по одной простой причине - он не надежен и с ним постоянно возникают проблемы.
На работе мне приходится поддерживать очень большой сайт с большим количеством посещений пользователей и у нас всего один сервер способен обработать нагрузку в тысячи пользователей в час. Сервер работает на Windows и у нас просто база данных и код очень хорошо оптимизированы. Но пока мы оптимизировали наткнулись на несколько очень серьезных проблем Windows хостинга и .NET.
Самая банальная и большая на мой взгляд проблема - количество открытых соединений к базе дынных. Как показывает практика, открытые соединения нужно держать максимально короткое время и закрывать их явно. Если программист .NET напишет код, в котором он откроет соединение с базой, но не закроет его, то .NET может закрыть его не скоро. Это серьезная проблема программистов, пишущих на языках со встроеными сборщиками мусора, они не заботятся о выделяемых ресурсах. Более подробно я описал проблему соединения с базой в заметке Освобождение ресурсов в .NET приложениях.
Если забить все соединения, то новые открываться не будут и весь хостинг встанет и вылечить это можно будет с помощью перезапуска сайтов (Recycle для App pool). В этот момент IIS освободит все выделенные на все сайты в пуле ресурсы и перезагрузит все. На разделяемом Windows хостинге, где хостятся мои личные сайты регулярно возникает такая проблема и пользователи явно постоянно пинают службу поддержки.Те в свою очередь перезапускают пул и спокойно ждут следующих жалоб на тормоза.
В принципе, хостинг понять можно, ведь за те деньги, которые платят пользователи за разделяемый хостинг, они не могут посадить каждого на свой физический сервер, чтобы народ, который не умеет следить за ресурсами, не мешал другим. Для этого есть свои планы. Но и платить за выделенный хостинг за сайты, где посещаемость меньше 1000 человек в день (не в час, а день) не вижу смысла.
Так как хостер экономит на разделяемых планах и забивают их по максимуму, то обязательно может появится какой-то чудо программист, который не будет заботиться о ресурсах и скушает их, а вы потом задолбаетесь просить службу поддержки, чтобы они перезапустили пул, что поможет, но не на долго. В чем-то тут проблема Microsoft. При одновременно работающих 200 пользователей, при неправильной работе с базой данных, количество открытых ресурсов может доходить до тысячи. IIS должен чуть быстрее и умнее освобождать брошенные на сборщик мусора ресурсы.
Если у вас свой сервер и если вы имеете неплохой опыт работы с C#, то можно выбрать для сайта Windows хостинг, но если вы выбираете простой разделяемый хостинг и не уверены в ресурсах сервера, я бы выбрал LAMP. При неправильном программировании можно ушатать и его, но на мой взгляд чуть сложнее. Да и Linux хостинги все же дешевле, даже VPS и там уже будет иметь смысл купить себе свое пространство, чтобы быть богом.
Я на работе продолжу использовать .NET и считаю его отличным инструментом для построения больших сайтов и даже порталов. Но для небольших проектов очень рекомендую PHP, потому по моему опыту с ним меньше проблем, если вы не владеете сервером. Возможно, мне просто не везло, но я начинаю перемещать свои сайты с Windows на nix хостинг.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Вообщето не удивительно, посещаемость интернена за последний год вырасла на 60%, вот какая нагрузка на сервера, Михаил, есть же у хостеров возможность снять дисковое пространство, установить на него хотябы свою серверную Ubuntu, разместить сайт и спокойно жить. Вы же при этом всё сами настроите. Странно у вас всё, на работе MS SQL, разрабатываете PHP в NetBeans, пользуетесь Apple, и задаетесь идеей Linux-сервера. К стати вы библиотеку .NET используете. Есть хорошая рецензия на руководство по jQuery: "Одна небольшая проблема: я могу понять, что Бер и Иегуда с неприязнью относятся к Microsoft. Я знаю, что не переводятся люди, которые испытывают неприязнь к этой компании. Но данная книга попросту игнорирует существование .Net. Как программист на .Net, я несколько недоволен этим. Вы можете не включать поддержку .Net во все свои примеры, но вы могли бы признать, что эта платформа существует." Вот может правильно ребята и делают, что игногируют .NET. Сейчас большее развитие в разработке за Ajax, PHP, а javascript библиотеки очень хорошо взаимодействуют при этом. Как раз то разработчики больших порталов используют это в свои проэктах, к тому же уроверь программистов должен быть при этом достаточно высоким. А не так как разрабатывают всякий хлам которым завалена сеть. Эчень хорошо об этой ситуации говорят на IBM Development: "Одна из проблем JavaScript-разработки заключается в том, что большой процент разработчиков и Web-дизайнеров, пишущих на JavaScript, в действительности никогда не изучали собственно JavaScript с азов. Их знание языка, как правило, накоплено за годы добавления фрагментов, найденных в Интернете и выполняющих ту или иную функцию. Они знают, как декларировать переменные, писать условные операторы и выполнять расчеты, но никогда не сидели с полным руководством по языку JavaScript и не изучали его с нуля. Чтобы облегчить себе жизнь, программисты обращаются к разнообразным библиотекам и интегрированным средам разработки (ИСР), таким как JQuery и YUI."
как говорил один прогер "Поначалу темпы разработки на ASP.NET резко падают, но потом стабильно растут. На PHP всё иначе: при большом объеме кода темпы разработки падают с начально очень высокого уровня, причем чем больше кода, тем хуже."
после ASP.NET MVC на PHP вообще не тянет я лучше потрачу больше времени со связкой С#,HTML,JS, чем буду тр.хать бедный PHP. Да он крут, можно намного быстрее сделать, да-же такие cms как WordPress, Joomla, 1с Битрикс(отступление: Пролог и эпилог вместо header and footer просто убил))) крутые, но я не любитель готового, а синтаксис C# для меня как alma mater.
Хз, может это глупо, я знаю PHP но прыгать с одного языка на другой не люблю так что ASP.NET Web Forms or ASP.NET MVC
(прыгай не прыгай а кто знает все, тот не знает ничего)
Всякие полузнания хуже всякого незнания,слова Ломоносова,я не думаю что бы Бьёрн Страуструп,умел настраивать сервера,знать Direct,знать PHP,ЗНАТЬ С#,знать java,HTML,и продавать свои программы,которые толком не работают,Касперский я не думаю что он тоже все это знает,но он гуру в своей области,кто косвенно называет себя хакером и пишет что он заядлый программист,ну я не знаю,в России таким программистам только в комьютерной помощи работать и Windows настраивать,а за бугром такие программисты ценятся,мы это знаем благодаря этому блогу.
Ну такая ситуация во многих странах, приходлось работать с индусами, и если честно мозговитые ребята, правда не очень аккуратные в коде.
Я цитировал слова Ломоносова,я думаю он вложил глубокий смысл в эту фразу,но мнение других тоже интересно.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.