Блог ищущего программиста

Архив рубрики "Web"

Добавление записей ускоряет рост группы

SMMОбратил внимание, что, действительно, как только я добавляю запись в группу, в течении дня -двух происходит небольшой скачок в участников ( в несколько раз от базового роста). Желательно конечно пост короткий и с картинкой. Если же запись оставил кто-то из посетителей, то это никак не отражается на скорости роста.

Быстрый memcached для python и django

memcachedТак получилось, что нагрузка на VDS выросла. Django кушает ресурсов достаточно хорошо. И я переехал на новый. Памяти в нем оказалось 8Гб, что позволило хорошо развернуться. Для разгрузки я раньше использовал memcached и самую распространенную библиотеку для него — pylibmc — типовая связка, которая описывается везде. Но как-то для кэширования разовых запросов производительность его по сравнению с кэшем mariaDB меня не устраивала. Запрос из кэша БД выполнялся 0.1-0.5мс (десяток записей), а из мемкэша 0.7-1. Это я замерил полноценно, подключив New Relic — замечательное средство мониторинга, но стоит достаточно дорого. Правда есть триальные 2 недели, которыми я и воспользовался. Далее…

Падение сайта победило penguin 2

Google PenguinОдин из проектов потерял половину трафика гугла с зимним пингвином. Мне тогда не особо до всего этого было — рыбалки, покатушки. И так получилось, что пришло мне письмо с метрики, что сайт не доступен. Как обычно, на 15 минут, подумал я. Но письмо о доступности так и не пришло. И на следующий день я зашел проверить как обстоят дела. Оказалось, WSGI повис (даже есть предположение, что ему помогли). Не особо задумываясь. я перезагрузил сервер и все заработало. После восстановления трафик вернулся на уровень до пингвина. Вот такое возможно совпадение. Трафик с Яндекса остался на прежнем уровне.

Трафик сайта

Трафик сайта

Текучка Web: Новый проект, старые проекты

Knowledge baseРаботаю над своим новым интересным проектом. Почему-то меня всегда привлекали базы знаний, и новый проект внутри как раз таковым и должен быть. Но база знаний не в том виде, в котором ее понимают нынешние пользователи интернета (а многим в голову, наверное, сразу приходит википедия), а некая система, получающая исходные данные и выдающая ответ. Интересна она именно подбором подходящего экспертного ответа. Правда для этой цели есть специальные среды/языки, но я решил, что мне удобнее будет сделать на том, на чем умею. Далее…

Фэйл внедрения Tarantool

Тарантул Делаю сайт по соционике mysocio.ru. Он представляет собой внешнюю справочную часть и внутреннюю социальную. Люди могут типироваться и смотреть друзей, а также следить за изменениями.

Платформа Django. Крутится все в данный момент вокруг ВКонтакте. Также имеется приложение для ВК. Самая нагруженная часть, работа с друзьями. Нужно учитывать, что они периодически добавляются и меняют тип. Это надо хранить и отображать по хронологии. Далее…

Быстрая генерация sitemap в django

sitemap.xml в djangoДелал автоматическую генерацию sitemap.xml для сайта на джанге. На PHP без фреймворков все решалось довольно просто: printf или echo, и все попадает прямо в буфер http. Python тоже имеет такую возможность, но часто фреймворки ее исключают. В принципе это правильно.

В django есть стандартный модуль sitemaps, который генерирует карту, но он очень медленный. Для примера, если у меня 15 тысяч элементов, генерация длится почти пол минуты. Естественно такой расклад мне не понравился, так как хотелось бы отдавать карту динамически, и не нагружать при этом все на столь долгий промежуток времени. Далее…

Первый опыт с python и django

django

Начитался хвалебных отзывов про питон и джанго. Решил попробовать сделать небольшой проектик на нем. Особенно интересно, что гугл предоставляет хостинг под питон. Запустить приложения под GAE оказалось не очень просто. Решил сначала сделать все на локальной машине в режиме разработки. Как раз подвернулась идея админки для альянса одной из браузерных стратегий. За три дня django мне показался удобнее Yii. Реально все логичнее и проще. Хотя, конечно, первый день мне так не казалось. В Yii есть быстрый генератор форм для управления содержимым. В джанго приходится для каждой модели прописывать действия, но когда разобрался, это оказывается совсем не сложно. Дальше будет виднее. Быть может и моим основным языком станет python.

Откуда берется параметр locale=ru

locale=ruСмотрю я недавно статистику в метрике и случайно мышкой попадаю на обзор параметров URL. И вижу там странную картину, так как у меня не используются параметры в адресной строке. А там целый набор параметров, таких как locale=ru, prefs_get={}, wauth.

Полез было в поиск, узнать, вдруг браузеры подставляют эти параметры, но ничего полезного не нашел. Метрика, система мощная, но определенные данные из нее или не получить, или достаточно муторно. Google Anaytics помощнее, но там тоже отследить не все можно. Далее…

Скорость PHP фреймворков по сравнению с голым PHP

Структура MVC

Структура MVC

Вроде созрел я для того чтобы начать использовать php-фреймворки. Наэкспериментировался вдоволь — получился свой, достаточно сносный фреймворк. Конечно Красотой он не блещет, так как разрабатывался по нуждам и по мере появления знаний в этой области. Но захотелось попробовать чего-нибудь готового, чтобы можно было: раз и все добавилось! Как в 1С 🙂

Изучил, что есть. Посмотрел сравнения. Решил попробовать Yii, как один из самых быстрых и перспективных. Тем более, что прямого сравнения с голым PHP я сходу не нашел. В принципе все удобно и понятно. Но… скорость меня не обрадовала. Далее…

Важность внутренней перелинковки

Переделал заголовки на сайте так, что убрал из них ссылки на родительские разделы. В результате позиции Google слегка упали. А по ВЧ вообще из сотни выпал. Вот так работает внутренняя перелинковка.

Вчера почитал про хлебные крошки, и про то, как Google их понимает и отображает. Кстати, есть сервис от поисковика, показывающий, насколько правильно распознается микроразметка на странице. Далее…

48 - здесь у нас SQL запросов.
0,105177 - время на генерацию страницы.