Archive for the 'Web' Category

Yii CFileCache Performance Issue [Solved] – Проблема с резким ростом нагрузки при использовании CFileCache во фреймворке Yii

Tuesday, June 21st, 2011

Проблема с нагрузкой в модуле CFileCacheИтак, похоже, найдена еще одна супер-тупая недокументированная фича класса CFileCache в моём “любимом” фреймворке Yii. Страницы некоторых “действий” (actions) кешируются целиков в файлах на ФС с помощью CFileCache.
Суть проблемы в том, что, по прошествии суток после начала работы нашего “facebook-проекта” на новом движке, начала по экспоненте расти нагрузка. На решение проблемы было убито более суток… Должен отметить, попутно разобрался с рядом мелочей, которые давно доставляли мне неприятности, в частности, с отсутствием на сервере нормальной системы мониторинга (отсетапил себе nagios).
Так вот, дело в том, что в классе CFileCache есть protected метод flushValues, вызывающий “уборщик мусора” $this->gc(false);
который (какая гениальная идея!) проходится рекурсивно по директориям и удаляет файлы, время действия кеша для которых истекло. Учитывая 10-20 запросов в секунду, которые создает мне googlebot и другие обитатели сети, количество файлов в каждой папке, даже при 3-уровневом файловом кеше, зашкаливает и в этот момент сервер уходит в глубокий коматоз. То, что причина не в mysql, было понятно почти сразу – mysql жрет кучу ресурсов, даже после memcached, но нагрузку основную я ощущал именно на диске, потому как переставали выполняться любые команды, даже такие как date, uptime, не говоря уже о ls и df ;) А mysql-базы находятся на другом диске с raw разделе и в этот момент сам mysql не показывал ни одного нового запроса по show processlist. Стало ясно, что проблема где-то в апаче, а точнее – в софте, так как от предыдущей версии софта, текущая версия отличалась лишь использованием yii… И жесткая нагрузка диска давала намёк на то, что трабла как раз в механизме кеширования. 2й раз полез в исходники CFileCache и обнаружил, упомянутый выше, собрщик мусора с рекурсией. Завтра утром станет понятно, насколько точны мои расчеты и насколько эффективным оказалось решение проблемы.

ip2long & long2ip возвращают разные значения под x86-32 и x86-64

Friday, February 5th, 2010

ip2long & long2ip возвращают разные значения под x86-32 и x86-64Различия приводят к тому, что одно и то же приложение может просто перестать работать.
В результате, вместо значения 127.0.0.0/22, скрипт вернул значение 127.0.0.0/135271958, что не одно и то же :)
Причины лежат в различиях типов, так как в x64 тип int по умолчанию UNSIGNED.

SE оптимизаторы – тупоголовые пионеры?

Friday, October 30th, 2009

SE оптимизаторы - тупоголовые пионеры?Так или иначе, в СЕ я 6 лет. Скажем так – 6 лет назад я запустил первый проект, ориентированный на Гугл. С тех пор таких проектов было много.. сложно сказать сколько точно – 12-15… Одних доменов было зарегистрировано около 300 штук.
Всё это время приходится наблюдать за эволюцией армии СЕ-шников, оставаясь частью этой армады. В 2003-2004м годах поисковыми системами занимались “избранные”, доходы у части этих людей были 5-6-значными (в долларах), знакомые, кто бы в курсе биза, смотрел на них с завистью и восхищением. Кому-то удалось влиться в этот круг, кому-то – нет. В этой “избранности” не было ничего магического – такие же пионеры, кому хватило удачи додуматься, “что и куда спамить”. Отдача финансовая была колоссальной, а барьер из нехватки информации держал окружающих на расстоянии.
Сейчас СЕ занимается кто попало. От школьников/студентов, но волосатых дядек на Бентли Континенталь..
Постоянно в бизнес приходят новички и вопросы их на форумах остаются прежними – почему сайт упал, сколько нужно ссылок, что бы получить пр3, сколько можно заработать на сайте, как поднять пр и прочая фигня.
Сегодня “святой день” – очередной “ап ПР”. Я понимаю радость/злобу тех, кто зарабатывает на жизнь продажей ссылок, но 99% горе-оптимизаторов к этому не имеют никакого отношения. Они просто “дрочат” на зеленую полоску. Почему? Я не могу этого понять. Ребята, вам нехрен делать? Ваш член увеличивается пропорционально длине этой полоски? Нет? Так какого ПРа вы втыкаете на эту полосу? У вас растет траффик после поста ПР? У вашей жены увеличиваются сиськи? Ваш БМВ превращается из тройки в пятерку с ростом ПР? Так какого ж хрена… Перестаньте маяться хренью, если вам важно заполучить ПР6 или ПР7 – может быть вам проще найти нормальную работу?
“Купить ссылки на САПе”, а потом орать, что “ГУГЛ палит САПу!” – да вы что, идиоты?
Вы думаете, что вы, прыщавый подросток, купивший на деньги родителей себе 20 летний форд, умнее чем ребята из Гугла с 6-значными зарплатами?
Зачем вы делаете тупые сайты для GoogleBot, а потом еще и просаживаете стипендию, что бы купить на неё 3 ссылки с какой-то линк-фармы? Да лучше подумайте 3 месяца и придумайте что-то, что действительно нужно и интересно людям. Ведущие поисковые системы уже давно не базируются лишь на комбинации контент+ссылки. На дворе 2009й год, любой владелец того самого гугл-тулбара или базовой инсталляции браузера firefox, chrome или opera (без установленного тублара! – вот в чем парадокс) шлёт гуглу всю информацию о том, куда вы заходите и сколько там пробыли, откуда вы пришли и как себя ведете на сайте. Достаточно просто определить, на базе выборки и множества данных, довольны ли вы сайтом или нет, а главное – нашли ли вы то, что искали. На каждой странице выдачи гугла 10 результатов – как вы думаете, если человек прошел по первым четырем ссылками, а на пятую не нажал, какой сайт его удовлетворил? Ну.. в общем случае. Даю наводку – четвертый сайт. Ну так сделайте же так, что бы ваш сайт оказался именно тем, дальше которого пользователь не будет жать в выдаче. Все эти данные (и многие другие факторы) учитываются в процессе ранжирования сайтов.. Не только ссылки и ключевые слова играют роль. Я бы сказал больше – роль ссылок и контента падает ото дня ко дню.
Сделайте же что-то полезное и перестаньте тратить свои силы на то, что бы на%&ать гугл :) Это доставит вам удовольствие и даст больше денег, чем вы когда-либо видели.. Более того, это будет стабильный доход и он будет действительно доставлять вам удовольствие..
Не занимайтесь херней – читайте и следуйте Google webmaster guidelines ;)

Запустили каталог шрифтов

Friday, October 30th, 2009

Запустили каталог шрифтовСовсем забыл вспомнить про летний запуск pimp your font. На сайте собрано более чем 15 тысяч шрифтов в TTF/OTF форматах. Удобный поиск, категоризация, топ-список.
Хотелось бы видеть своё детище повыше по запросами аля “free fonts” в СЕ.

Дайте инвайт на Хабр

Thursday, October 29th, 2009

Дайте инвайт на ХабрПлиз, может у кого-то завалялся. Нужен инвайт для регистрации на хабрахабре.
Буду благодарен.

Создай свой рингтон онлайн!

Wednesday, June 24th, 2009

Создай свой рингтон онлайн!Не так давно запустили свой новый проект – создание рингтонов из mp3 файлов, а так же роликов YouTube средствами бразеура и флеш плеера. Суть проекта – любой человек может совершенно бесплатно залить мп3 файл и вырезать из него самую вкусную часть. То же самое можно сделать и с любым видео из Ютуба. Баги продолжаем фиксить, так же занимаемся переводами страниц.
Кому интересно – можете ознакомиться здесь – create ringtone online!

Научился на сервере под Линуксом программно делать скриншоты сайтов :)

Wednesday, May 27th, 2009

Научился на сервере под Линуксом программно делать скриншоты сайтов :)Вчерашний вечер был посвящен этой шальной идейке. И… получилось :) Технология не промышленная, но имеет право на жизнь. Как? С помошью виртуального Х-сервера и последней Мозиллы, которую пришлось напичкать плагинами и подправить userChrome.css. Техника интересная и действительно работает.

Google Latitude – очередной зверь от Google

Friday, February 13th, 2009

Google Latitude - очередной зверь от GoogleПытался сегодня тестить новое творение Гугла – Google Latitude. В общем случае – это Гугл-мапс для обычного телефона, который (видимо) по данным от базовых станций определяет довольно точно ваше местоположение. Моё он определил предельно четко.
Вот небольшой презентационный ролик от Гугла:

2ая функция – определение местоположения контактов из Gmail. Таким образом софт позволяет вам определить, где в каждый конкретный момент находится ваш ребенок, родители, жена.. Иногда – это может быть полезным :)

Сайт – http://www.google.com/intl/ru_ALL/latitude/intro.html

Вышел Firefox 3.0.4

Thursday, November 13th, 2008

Вышел Firefox 3.0.4В этот релиз включили ряд новых языковых версий браузера, подправили проверку орфографии русского языка, а так же исправили серию уязвимостей, обнаруженный с момента релиза 3.0.3.
OFFTOP: последние версии Лисы радуют все больше и больше. Проблема остается одна – при установки большОго числа плагинов браузер становится громоздким. Но я все-таки стараюся считать его золотой срединой.

Качаем и радуемся – http://www.mozilla-europe.org/ru/firefox/

WordPress – как заставить работать чекбокс “Remember Me”

Sunday, November 2nd, 2008

WordPress - как заставить работать чекбокс После перевода части блогов на ВП 2.6 столкнулся с проблемой – WordPress перестал запоминать меня при заходе в админку и каждый раз приходится заново нажимать кнопку для входа в wp-admin.. Выход оказался предельно простым – достаточно убедиться в том, что адрес, по которому вы пытаетесь залогиниться, совпадает с УРЛом, указанным в Settings, а так же в том, что УРЛ заканчивается слешем. Тоесть при попытке зайти в http://www.yourdomain.com/wp-admin – результат будет отрицательным и вам придется логиниться, а вот если ввести в браузере http://www.yourdomain.com/wp-admin/ (с завершающим слешем) – админка загрузится самостоятельно и без постороннй помощи.

Прикрутил к блогу авторизацию по OpenID

Monday, October 6th, 2008

OpenID for Wordpress 2.6Ну вот, свершилось то, о чем меня уже не раз просили читатели – присобачил к блогу авторизацию по OpenID. Штуковина милая, посмотрим, сколь она полезна. Суть нововведения в том, что для того, что бы оставить свой комментарий – не нужно создавать себе аккаунт у меня на блоге, а достаточно воспользоваться своим аккаунтов в системе OpenID, который есть у множества пользователей Сети (ведь пользоваться ею можно не только на множестве wordpress блогов, а так же на Digg-е, в LiveJournal /ака ЖЖ/, а так же в движках на базе MediaWiki, Bugzilla, TypePad, TypeKey, b2, TextPattern, perl.org и тысячах других проектов по всему Интернету).

Кстати, кто-нибудь уже пользуется плагином WP-OpenID? Какие впечатления кроме позитива?

Браузер Chrome – первые впечатления и отзыв

Wednesday, September 3rd, 2008

Браузер Chrome от Google - отзывыНу что ж.. только что закончил игры с Chrome и спешу поделиться первыми впечатлениями… Что сказать – “чистенько, но бедненько”. Именно такое впечатление оставил после получаса работы в нем этот программный продукт от Google. Откровенно говоря, если бы к нему придавался еще и почтовый клиент – для меня лично сегодняшний день стал бы днем смены среды работы :) Но.. увы. Пока – это лишь браузер.. Браузер быстрый, удобный. Браузер, интегрированный с Google-ом на все 100%, чего стоят хотя бы выдаваемые подсказки при вводе УРЛа в строке адреса. Не понравилось отсутствие тулбара :) Уж его могли бы вбить по умолчанию, хотя – нужен ли он рядовому пользователю? Конечно же нет.. Под вопросом возможность использования плагинов, но, судя по всему, эта фича ожидает нас в последующих релизах. Чем-то подсознательно это творение напомнило мне браузер Opera эдак лет 5-6 назад. Вроде бы все есть, что нужно, но чего-то не хватает. Все-таки привык я к длинным меню в Mozilla или IE.. Мой вывод – право на жизнь заслужил, но все же еще пару релизов нам стоит подождать.
Солидарны?

Pyro – новая оболочка, “заточенная” под FireFox

Sunday, July 22nd, 2007

Pyro - новая графическая оболочка, созданная на базе Mozilla FireFox. Основная цель, которую преследовали разработчики – сблизить веб-среду и современный пользовательский интерфейс.
Сайт проекта – pyrodesktop.org
Для инсталляции (под Линукс) – нажать тут.

Технология Silverlight – уже на этой неделе…

Wednesday, June 20th, 2007

silverlight releasedУже на этой неделе пользователи могут ожидать выхода реализации технологии Silverlight, а которой мы уже сообщали не так давно на страницах нашего блога.
Подробнее на сайте reddevnews

Рейтинг плагинов для WordPress

Sunday, April 1st, 2007

wordpress pluginsУтром на одном уважаемом форуме заметил пост с рейтингом плагинов к полюбившемуся движку WordPress.
Оригинал текста Вы можете найти здесь.
Выборка была сделана на базе опроса 48 опытных блоггеров. Большое спасибо автору за перевод рейтинга. Итак:

1. Первое место досталось Akismet‘у. 34 из 48 блоггеров рекомендуют этот анти-спам плагин.
2. Google Sitemap Generator стал вторым с 27-ю голосами. Похоже, что многие блоггеры задумываются о SEO и это самый удобный плагин для нотификации поисковых систем об обновлении и структуре блога.
3. Related posts от Wasabi занял третье место. Этот плагин создает список ссылок на похожие (релативные) записи на основе текста поста. Это хороший плагин для повышения удобства вашего блога. 19 из 48 блоггеров проголосовали за этот плагин.
4. Wp-Contact form.
Этот плагин от Райана Даффа (Ryan Duff) используют 17 из 48 блоггеров. Он создает форму обратной связи для вашего блога, так что пользователи могут написать вам не только комментарий. Плагин Wp-Contact form с защитой от спама вы можете скачать тут.
5. Wordpress database backup – мастхев плагин для каждого блоггера, который не хочет потерять свои архивы. 16 из 48 блоггеров проголосовали за него.
6. Feedburner Feed Replacement плагин для перенаправления ваших rss-читателей на ваш фид в Feedburner.
7. Ultimate Tag Warrior
плагин для всего, что связано с тагами (ключевыми словами). Ключевые слова для каждого отдельного поста, таги в самом посте, посик по тагам, оповещение различных поисковиков как Technorati. UTW используют 14 из 48 блоггеров.
8. Subscribe to comments
(13/48). Плагин дает возможность подписаться на email оповещения о новых комментариях к записи. Очень удобно для блог-комьюнити.
9. AdSense Deluxe (10/48) плагин, который позволяет быстро и просто добавить в ваш блог рекламные блоки AdSense, YPN, Chitika.
10. Gravatars
(9/48) еще один плагин для блог-комьюнити. Добавляет граватары для комментариев ваших пользователей. Делает их более индивидуальными.
11. Jerome’s Keywords plugin
еще один плагин для работы с тагами/ключевыми словами. Возможностей немного меньше чем в UTW, но он более простой в использовании. Рекомендован 8-ю блоггерами, как и следующие 3 плагина.
12. Optimal title плагин для SEO. Заменяет функцию wp_title() на более расширенную.
13. Sociable добавляет иконки для добавления записи в сервисы социальных закладок (Digg, del.icio.us, reddit, etc).
14. WP-Cache 2.0 плагин для уменьшения нагрузки на ваш сервер, генерирует статические странички для блога. Мастхев для высокотрафиковых решений.
15. Popularity Contest
(7/48) удобный плагин для подстветки лучших записей в блоге. Рейтинг строится на количестве постов, просмотров, коментариев, трекбеков.
16. Sidebar Widgets (7/48) плагин для простого добавления различных виджетов (небольшие готовые скрипты) в ваш сайдбар.
17. Wp_Notable (7/48) плагин аналогичный Sociable.
18. Simple Tags (6/48) еще один плагин для генерации списка тагов для записи. Прост в использовании.
19. Adhesive (5/48) плагин, который позволяет “прилепить” определенный пост в самое начало блога. Удобен для обьявлений и рекламы.
20. Exec-php (5/48) плагин, который позволяет добавлять исполняемый php-код в ваши записи и except’ы.
21. Extended live archive (5/48) плагин для создания страницы архива.
22. No ping wait
(5/48) отключает пинг серверов при записи, что ускоряет публикацию записи. Плагин разделяет эти функции на две – сначала запись моментально публикуется, а лишь потом пингуются сервисы.
23. PodPress (5/48) плагин для работы с подкастами. Возможности: добавление, управление, проигрывание подкастов и других медиа-файлов.
24. SRG Clean Archives (5/48) еще один плагин для создания страницы архивов. Навигация по месяцам/дням, скрытие защищенных записей, показывает количество комментариев к записям и т.п.
25. WP-Page Navi (5/48) плагин для изменения стандартной постраничной навигации (Previous/Next page) на более расширеную (Pages (17): [1] 2 3 4 » … Last »).
26. WP-Cron
(5/48) если вам нужно автоматизировать какие-то задания для блога (например, пинг или резервное копирование базы), то этот плагин для Вас.
27. Wp-Shortstat (5/48) плагин статистики вашего блога. Показывает ее в Dashboard.
28. Lightbox 2 (5/48) добавляет в ваш блог поддержку библиотеки Lightbox JS.
29. del.icio.us cached (4/48) показывает список ваших закладок из del.icio.us.
30. Get Recent Comments (4/48) показывает список последних комментариев, которые оставили на вашем блоге.

И что же я сделал сразу после ознакомления с этим списом? Поставил себе плагин номер 25 из приведенного выше списка. Новую навигацию можно лицезреть на индексной странице нашего блога.

Плагин для WordPress. Вставка картинок.

Sunday, March 18th, 2007

Наконец-то откапал плагин для WP, позволяющий вставлять в посты картинки, создавать thumbnails, масштабировать их, вставлять ссылки на большую картинку и еще массу полезный вещей. Незаменимая вешь и, на удивление, работает у меня отлично. Пример работы можете лицезреть прямо в этом посте. Работает отменно. Просто праздник, а не событие. Называется это чудо IImage Browser, скачать его можно отсюда.