+0.57
Рейтинг
0.18
Сила

Алексей Борин

История про нагрузку и как я с ней боролся.

Случилось так, что на одном из проектов full time стал переваливать за 1,5 сек и при этом сжирался весь проц. При этом все остальные показали были в норме: база — 0,002 сек, кеш — 0,01 сек.

Пришлось прикручивать профайлер и смотреть, в чем дело.

Виноват оказался Smarty, который из 1,5 секунд работал 1,2 (шаблон, на проекте, используется стандартный с легкими изменениями).

Копаясь дальше нашел самый сложный шаблон comments_tree.tpl, который выполняет в цикле инклюд шаблона comment.tpl.

Проблема решилась отказом от инклюда и переносом содержимого из comment.tpl в comments_tree.tpl.

full time на топиках с 400+ комментариев не превышает 0,4 сек.

Надеюсь кому-то поможет.

Открытый сайт + инвайты

Хочу реализовать следующее:
1) Оставить сайт открытым, но при этом чтобы у каждого пользователя в профиле остались инвайты.
2) Плюс чтобы у каждого пользователя по умолчанию сразу было неограниченное кол-во инвайтов.
3) Ну и чтобы можно было посмотреть потом кто пригласил больше всего людей, желательно чтобы эта информация была открытой для других пользователей.

РЕАЛИЗАЦИЯ ЗАДУМАННОГО:
Читать дальше →

Голосование админам неограниченное количество раз

Небольшая доработка голосовалки.

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

В aceadminpanel реализовано неограниченная голосовалка только для рейтинга и силы пользователя, эта рализация для всего остального.

Читать дальше →

Как запретить вставку ссылок в топиках?

и убрать вообще кнопку из панели?
Спасибо!

ответили

убрать кнопку из панели

\templates\skin\new\actions\ActionTopic\add.tpl
\templates\skin\new\actions\ActionTalk\add.tpl
\templates\skin\new\comment_tree.tpl

удалить
<a href="#" onclick="lsPanel.putTagUrl('talk_text','{$aLang.panel_url_promt}'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/link.gif" width="20" height="20"  title="{$aLang.panel_url}"></a>


запретить тег engine\modules\text\Text.class.php

закоментировать
$this->oJevix->cfgAllowTagParams('a', array('title', 'href', 'rel'));

Ошибки после чистой установки

Notice: Undefined index: bNoSidebar in /www/travelst/www/htdocs/ls/templates/compiled/new/%%F7^F7F^F7F34188%%header.tpl.php on line 138
>
Notice: Undefined index: noShowSystemMessage in /www/travelst/www/htdocs/ls/templates/compiled/new/%%F7^F7F^F7F34188%%header.tpl.php on line 140

canariainfo.ru

upd: решение: отключил ошибки в index.php: ini_set('display_errors', 0);

LS 3.1 vs php 5.3.1

Извращенцам посвящается. =) Я держу боевой сервак практически на альфа версисях ПО, и сегодня прилетело обновление php 5.3.1.
LS высыпалало пачку ошибок вида:
Deprecated: Assigning the return value of new by reference is deprecated in /www/classes/lib/external/DbSimple/Generic.php on line 113

Deprecated: Assigning the return value of new by reference is deprecated in /www/classes/lib/external/DbSimple/Generic.php on line 133

Deprecated: Assigning the return value of new by reference is deprecated in /www/classes/lib/external/DbSimple/Mysql.php on line 70

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3,0/no DST' instead in /www/classes/modules/user/User.class.php on line 238

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3,0/no DST' instead in /www/classes/modules/topic/Topic.class.php on line 481

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3,0/no DST' instead in /www/classes/modules/topic/Topic.class.php on line 368


В первых строках php ругается на то, что используемые функции устарели и в следующих версиях php поддерживаться вообще не будут. Я не стал париться и вырубил вывод ошибок заменив в index.php строчку
error_reporting(E_ALL);
на
error_reporting(E_ALL ^ E_DEPRECATED);


А вот таймзону пришлось добавить. В index.php ниже строки error_reporting дописываем:
date_default_timezone_set('Europe/Moscow');

Список тайм зон можно посмотереть тут.

UPD Упомининие о таймзоне так же следует добавить в function.php

Profit!

Безболезненная интеграция uppod

Почти с самого мая 2009 (0.3) мы медленно и нехотя изменяем функционал милого локального сайтика mycrap.ru

Сейчас я расскажу о самом простом способе вставки видео в посты, которого здесь не находил. Изначально была сделана своя форма загрузки для видео на базе стандартного /include/ajax/uploadImg.php, которая загружала файл и выдавала в окно поста код uppod-плеера строчек в 5, при этом пользователи могли хулиганить изменяя размер плеера и подсовывая свои листы стилей.

Проще всего (не правильнее, а именно проще всего) поправить системный файл /classes/modules/sys_text/Text.class.php.


Читать дальше →

Хак: Ограничение доступа к части топика по рейтингу

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

<rating min="2">Виден пользователям с рейтингом большим или равным 2.</rating>

Читать дальше →

Разберемся с robots.txt

Поскольку эта тема ещё не поднималась, решил обсудить ее здесь и развеить в первую очередь свои сомнения, а затем сохранить тему для потомков :)

Итак, для новичков: robots.txt это файл который кладется в корневую папку вашего сайта и служит для дачи указаний поисковым ботам (google, yandex, rambler...), что можно индексировать, а что нет. Если эту опцию не настроить, то могут возникнуть проблемы, допустим пользователь перешел через запрос к вам на сайт, но попал на страницу где есть несколько топиков (страницп блога, страница с тегами...), а ему нужен один конкретный топик, не увидя искомое, может просто покинуть страницу.

Читать дальше →

Клиентская оптимизация

Возможно вопрос уже поднимался, скажите если так. Считаю, что нужно подумать над клиентской оптимизацией движка — сократить количество запросов к серверу, объединить статические CSS, JS файлы, сжать их, подумать над оптимизацией графики,…
http://webo.in/urls/livestreet.ru/ — тут можно посмотреть анализ сайта.

Если заинтересует моё предложение — обращайтесь, подскажу как сделать, скажу что почитать.

P.S. Хочется чтобы отличный продукт стал ещё лучше :) Спасибо за Ваш движок.