Lord Maverik: но у них же всего на 3 месяца, неудобно как-то.
Если у хостера всё правильно настроено, то они "вечные".
Точнее обновляются автоматически за неделю до истечения по крону, и вас никто не трогает.
Минус в том, что хостер должен это уметь.
Плюс в том, что в большинстве нормальных панелей есть соответствующие функции или плагины, и это 5 минут работы админа, поэтому у всех НОРМАЛЬНЫХ хостеров это уже есть, а если кто-то "всё проспал" то поставят по просьбе.
Adrian2012: А+, А, В, С... F - это все к хостеру. И хвалить и ругать.
Строго говоря много чего можно сделать самому.
Но вообще да, терпеть не могу фулстек. Есть админы, пусть они занимаются.
Нет админов? По возможности брать шаред или менеджед сервер, и опять - пусть админы занимаются.
Но F, и судя по тому почему там F (и C если не ошибаюсь тоже) - складывается ощущение что это необслуживаемый ВДС, где плывут по течению, пока не выплывут проблемы, тогда и решают.
Если это шаред, то хостера надо не ругать, а бить головой об стенку.
Это не плохо и не хорошо. Такое же архитектурное решение как и нестрогая динамическая типизация. Есть свои плюсы и минусы.
PHP активно двигается чтобы "не умирать", но на самом деле это не так просто как кажется. Да, у нас есть приличный gc. Да есть вполне приличные и стабильные расширения для fork. Да, расширения уже почти не текут.
Но тем не менее в основе своей он остается "умирающим".
Это и взаимодействие с вебсервером, и идеология фреймворков, библиотек, и мышление программистов.
В среднем это снимает целый ряд проблем связанных с многопоточностью и другими моментами. Помимо того что язык прощает больше вольностей, он еще и освобождает нас от решения большого количества проблем.
Мы МОЖЕМ создавать демонов на пхп. Но мы не ДОЛЖНЫ это делать.
Цена - множество "одноразовых" манипуляций, которые одинаковы, "вроде не бездельники, и могли бы жить", но запрос завершен, и пора умирать.
С учетом что
danforth: основной Bottle Neck
это как вы заметили - БД, то обычно цена не высока. Но так бывает не всегда.
danforth: Вся производительность в данном случае сводится к одному правилу: отвечать нужно быстрее, чем запросы на сервер поступают
Да, но это верно только когда у нас "умирающий" код, и балансировку и прочую демонизацию уже сделали за нас.
Но это не всегда верно даже для php. Типичный пример morozovsk/websocket.
Если же у нас бессмертная/демоническая архитектура, то выплывает очень много совсем других факторов, помимо "быстро отработал и пошел дальше".
Я понимаю что питон можно "готовить" как пхп в умирающем виде. И дефолтный мод_питон нам на это красноречиво намекает, но это далеко не самая быстрая архитектура для данного языка, и уместна чтобы упростить старт и все такое.
Но поскольку это не совсем родная архитектура языка, то она выходит не настолько дешево, как у пхп.
Вопрос не в компиляции, это вообще на третьем плане, а в том что умирать это просто, а не умирать в хайлоаде это сложно. ПХП со своим умиранием, без полноценной ВМ (ну хорошо, хорошо, с опкод-кешем, хорошо, но все равно оно от той же жавы отстает значительно) - теряет на прогрев любого даже хорошо оптимизированного фреймворка довольно много, но он из коробки, даже на тяжелом апаче априори лучше заточен под хайлоад, чем тот же питон из коробки.
А после допилки да, хайлоад, код априори чище, шансов накосячить меньше и все такое. С другой стороны запас потенциала у этой самой допилки у пхп заметно поменьше.
suffix: Учитывая то чтобы меньше А+ получить очень постараться надо.
Ну постараться надо ниже В. У меня стабильно А, иногда В (если лень колупаться с Diffie-Hellman или пинать хостера, и сертификат и сайт "шоб було"). А+ это как раз надо прикладывать усилия.
Чисто бегло по сайту из подписи - роботс некошерный, хттпс нет, с хттп-шного роботс 301 как и у всех (что не страшно если включили после склейки, но тем не менее).
жЫрный косяк с безопасностью. F это просто ни в какие ворота не лезет.
Еще как версия - верстка у вас на 146% состоит из антипаттернов. Табличная верстка с кучей блокирующих скриптов, о мобильной резине можно не заикаться... в общем вполне вероятно что может "траст" вам и перенесли, но не перенесли "бонус старичка", когда древним сайтам прощают технологические косяки при нормальном поведенческом, а новичкам не прощают.
danforth: mendel, у него проблема в приложении, железо не знаю, но вполне вероятно что и оно тоже кривое.
Задумался кстати. Джанго рожден чтобы умирать?
Никогда не имел дела с питоном на проде. Дальше консоли не вылазил. Ну еще было что-то в каких-то учебных примерах (когда Монго изучал), но там был другой фреймворк, и он был принципиально однопоточен для простоты.
Быстрый гуглеж дал использование mod_python на проде и собственный однопоточник в деве. Как я понимаю mod_python умирающий, но пайтон не пхп, и к смерти не очень привык, разогревается медленнее. С однопоточным девом вообще всё понятно. В принципе есть mod_wsgi, который может как умирать, так и нет, но есть нюансы с тем как ты его настроишь.
Не то чтобы делаю выводы, скорее спрашиваю, я в питоне нуб, но то что есть нюансы как можно загнать в ноль производительность даже не кодом а настройками готового, это факт.
burunduk: то что вы описали ниже - достаточно простая и типичная задача с кучей рутинной работы
Да там кода от силы 5% работы.
Там реально ад был расшифровать потребности.
Ну и специфика, специфика, специфика.
А выудить специфику бизнеспроцессов плохоорганизованной иностранной торговой сети (с многоуровневой франшизообразной структурой, собственным небольшим производством и т.п.) - по скайпу, из топманагеров с гуманитарным складом ума - та еще задача.
danforth: Но беда в том, что в интернете так много сканнеров а дыры, что вы просто будете не успевать закрывать эти уведомления.
Именно. У меня на боевых бывает отдельный лог чисто фактов атаки, без расшифровки, где чисто колво исключений в разрезе по типу, в час.
но у них же всего на 3 месяца, неудобно как-то.
Если у хостера всё правильно настроено, то они "вечные".
Точнее обновляются автоматически за неделю до истечения по крону, и вас никто не трогает.
Минус в том, что хостер должен это уметь.
Плюс в том, что в большинстве нормальных панелей есть соответствующие функции или плагины, и это 5 минут работы админа, поэтому у всех НОРМАЛЬНЫХ хостеров это уже есть, а если кто-то "всё проспал" то поставят по просьбе.
Сейчас это нужно всем.
А+, А, В, С... F - это все к хостеру. И хвалить и ругать.
Строго говоря много чего можно сделать самому.
Но вообще да, терпеть не могу фулстек. Есть админы, пусть они занимаются.
Нет админов? По возможности брать шаред или менеджед сервер, и опять - пусть админы занимаются.
Но F, и судя по тому почему там F (и C если не ошибаюсь тоже) - складывается ощущение что это необслуживаемый ВДС, где плывут по течению, пока не выплывут проблемы, тогда и решают.
Если это шаред, то хостера надо не ругать, а бить головой об стенку.
Что вы имеете ввиду под умиранием
Это термин. Загуглите "php создан чтобы умирать".
Это не плохо и не хорошо. Такое же архитектурное решение как и нестрогая динамическая типизация. Есть свои плюсы и минусы.
PHP активно двигается чтобы "не умирать", но на самом деле это не так просто как кажется. Да, у нас есть приличный gc. Да есть вполне приличные и стабильные расширения для fork. Да, расширения уже почти не текут.
Но тем не менее в основе своей он остается "умирающим".
Это и взаимодействие с вебсервером, и идеология фреймворков, библиотек, и мышление программистов.
В среднем это снимает целый ряд проблем связанных с многопоточностью и другими моментами. Помимо того что язык прощает больше вольностей, он еще и освобождает нас от решения большого количества проблем.
Мы МОЖЕМ создавать демонов на пхп. Но мы не ДОЛЖНЫ это делать.
Цена - множество "одноразовых" манипуляций, которые одинаковы, "вроде не бездельники, и могли бы жить", но запрос завершен, и пора умирать.
С учетом что
основной Bottle Neck
это как вы заметили - БД, то обычно цена не высока. Но так бывает не всегда.
Вся производительность в данном случае сводится к одному правилу: отвечать нужно быстрее, чем запросы на сервер поступают
Да, но это верно только когда у нас "умирающий" код, и балансировку и прочую демонизацию уже сделали за нас.
Но это не всегда верно даже для php. Типичный пример morozovsk/websocket.
Если же у нас бессмертная/демоническая архитектура, то выплывает очень много совсем других факторов, помимо "быстро отработал и пошел дальше".
Я понимаю что питон можно "готовить" как пхп в умирающем виде. И дефолтный мод_питон нам на это красноречиво намекает, но это далеко не самая быстрая архитектура для данного языка, и уместна чтобы упростить старт и все такое.
Но поскольку это не совсем родная архитектура языка, то она выходит не настолько дешево, как у пхп.
посмотрите одностраничники Atilekt.NET - полноценная CMS
Открыл сайт (оба). Уменьшил окно до половины экрана. Закрыл сайт.
На самом деле я конечно еще глянул бегло верстку в надежде увидеть табличную или еще чего жЫрного, но там по мелочи косяки были.
Мне в принципе достаточно того что хомяк сервиса неадаптивный. Дальше можно не смотреть в принципе.
Вопрос не в компиляции, это вообще на третьем плане, а в том что умирать это просто, а не умирать в хайлоаде это сложно. ПХП со своим умиранием, без полноценной ВМ (ну хорошо, хорошо, с опкод-кешем, хорошо, но все равно оно от той же жавы отстает значительно) - теряет на прогрев любого даже хорошо оптимизированного фреймворка довольно много, но он из коробки, даже на тяжелом апаче априори лучше заточен под хайлоад, чем тот же питон из коробки.
А после допилки да, хайлоад, код априори чище, шансов накосячить меньше и все такое. С другой стороны запас потенциала у этой самой допилки у пхп заметно поменьше.
Учитывая то чтобы меньше А+ получить очень постараться надо.
Ну постараться надо ниже В. У меня стабильно А, иногда В (если лень колупаться с Diffie-Hellman или пинать хостера, и сертификат и сайт "шоб було"). А+ это как раз надо прикладывать усилия.
пять месяцев???
А что говорит Платон?
Что в вебмастере? Склеен?
Чисто бегло по сайту из подписи - роботс некошерный, хттпс нет, с хттп-шного роботс 301 как и у всех (что не страшно если включили после склейки, но тем не менее).
жЫрный косяк с безопасностью. F это просто ни в какие ворота не лезет.
Почитайте подробнее.
Полагаю что за это и минуса.
Еще как версия - верстка у вас на 146% состоит из антипаттернов. Табличная верстка с кучей блокирующих скриптов, о мобильной резине можно не заикаться... в общем вполне вероятно что может "траст" вам и перенесли, но не перенесли "бонус старичка", когда древним сайтам прощают технологические косяки при нормальном поведенческом, а новичкам не прощают.
mendel, у него проблема в приложении, железо не знаю, но вполне вероятно что и оно тоже кривое.
Задумался кстати. Джанго рожден чтобы умирать?
Никогда не имел дела с питоном на проде. Дальше консоли не вылазил. Ну еще было что-то в каких-то учебных примерах (когда Монго изучал), но там был другой фреймворк, и он был принципиально однопоточен для простоты.
Быстрый гуглеж дал использование mod_python на проде и собственный однопоточник в деве. Как я понимаю mod_python умирающий, но пайтон не пхп, и к смерти не очень привык, разогревается медленнее. С однопоточным девом вообще всё понятно. В принципе есть mod_wsgi, который может как умирать, так и нет, но есть нюансы с тем как ты его настроишь.
Не то чтобы делаю выводы, скорее спрашиваю, я в питоне нуб, но то что есть нюансы как можно загнать в ноль производительность даже не кодом а настройками готового, это факт.
Закончил разбор полетов).
Таки не даром.
Действительно ляп нашел. Действительно не значительный, поскольку и до него и после него по пару эшелонов, но сам факт.
Вот такой ляп пропустили:
Пропустили потому что после оно все равно фильтруется, да и доступно только root-admin, но тем не менее ляп адский.
По горячим следам нашел в коде еще пару случаев где такая же лажа.
По результатам разборов психанул и добавил сахарную функцию haveStr($str, $needle).
то что вы описали ниже - достаточно простая и типичная задача с кучей рутинной работы
Да там кода от силы 5% работы.
Там реально ад был расшифровать потребности.
Ну и специфика, специфика, специфика.
А выудить специфику бизнеспроцессов плохоорганизованной иностранной торговой сети (с многоуровневой франшизообразной структурой, собственным небольшим производством и т.п.) - по скайпу, из топманагеров с гуманитарным складом ума - та еще задача.
Но беда в том, что в интернете так много сканнеров а дыры, что вы просто будете не успевать закрывать эти уведомления.
Именно. У меня на боевых бывает отдельный лог чисто фактов атаки, без расшифровки, где чисто колво исключений в разрезе по типу, в час.