0.00
Рейтинг
0.35
Сила
  • avatar Shrike
  • 4
В Synio img обернут в тег а.
JS такой
{literal}
<script type="text/javascript">

$(function(){
	
    $('a.avatar').click(function(){
		var size = $(this).children('img').css("width");
		if (size=="80px")  {
			$(this).children('img').stop(true,true).animate({width:"200px",height:"200px"}, 800);
		}
		else {
			$(this).children('img').stop(true,true).animate({width:"80px",height:"80px"}, 800);
		}
	});
  });
</script>
{/literal}

80px размер из стиля. 200px увеличенный размер, 800 время аминации
href нужно изменить
в шаблоне
<a href="#" class="avatar" ><img src="{$oUserProfile->getProfileAvatarPath(100)}"  alt="avatar" itemprop="photo" /></a>
Ловите фирменный рецепт для высоконагруженных проектов на LS (испробовано на личном опыте путём множества проб и ошибок.)
Во-первых, устраняем узкие места.
Начать надо не с LS и даже не с самого веб-сервера, а с общесистемных заморочек.
Иногда бывает так, что много процессорного времени уходит на дисковые операции, т.е. IOwait.
Здесь две задачи: выставить адекватный IO Sheduler (CFQ, или даже Noop), и перенести всё — слышите, всё, что можно, в RAM FS. Особые джедаи-оверклокеры переносят весь движок в оперативку (об этом расскажу позже.)
Вот уж теперь приходит очередь сервера. Толстый и неповоротливый апач, падающий от SlowLori-атаки в одиночку (банальный питоноскрипт), сносим к Дискорду.
Качаем исходники nginx'а.
./configure --help

Вдумчиво курим мануал, и определяемся, что нам надо. Потом курим опять, и вновь конфигурируем для сборки с нужными флагами (Модуль STUB не забудьте, ага), выставляем все пути соответственно FHS!
make

Витиевато выражаемся, доставляем нужные зависимости и пакеты (опять-таки, если вы джедаист-пингвиновод, этот пункт пропускаем.)
checkinstall
(аккуратно собираем в пакет). Ставим.
Всё, теперь у нас красивый, быстрый, аки Рэйнбоу Дэш, сверкающий новизной nginx. Конфигурирование его может ускорить ещё на 20%.
Затем — php. Естественно, работать будем только, и только через CGI-интерфейс. Джедаисты качают исходники, собирают@компиляют. Ленивые кунг-фу панды ставят из пакетов.

Затем приходит время настраивать ШINDOШS nginx и собственно связку php-fpm. Приблизительные цифры могу посоветовать только тогда, когда скажете параметры этого вашего сервера и среднюю нагрузку на сайт (посещаемость). Для статики ставьте expires: max и отфутболивайте вплоть до ~75% запросов статики не с 200, а с 304 ответом, ня!

Переносим временные каталоги nginx в предусмотрительно откушенный кусок оперативной памяти.
Настраиваем mysql… тот же mysqltuner.pl вам в помощь, а временные каталоги вы уже поняли, куда. Само взаимодействие тоже строго через сокет — линукс же!

Затем ставим ускоритель. eAccelerator, спросите вы? Да как бы не так. Во-первых, он древнее Селестии и Луны вместе взятых, и не развивается уже очень долго. И потом, из-за его вредной привычки не следить за целостностью shared memory, и при высокой нагрузке то и дело отправлять в 502 сайт, я и отказался от него — ну стопорит обработку php-cgi, и всё тут. Доработка напильником как spawn-fcgi, так и php-fpm помогала лишь временно — до первой же лавины запросов.

Иногда советуют ставить memcached… ИМХО, излишний велосипед. Да, у него есть няшная фича распределения по нескольким серверам, но оно вам надо? Запускать отдельный кеширующий сервер, особенно на слабых хостингах/серверах суть лишняя головная боль. Поэтому выбрасываем это звено также.

Два вышеназванные «ускорителя» успешно заменяет xCache — кеш как опкода, так и переменных (var cache). Гибкая настройка, наличие «админки», быстродействие и нетребовательность к ресурсам процессора — что ещё надо для полного счастья? Благо, LS с ним работать умеет (и по сокету тоже), посему ставим. Аппетиты настраиваем в xcache.ini, если захотели стабильности и решили включить RO-protection, то файл также ложим в RAM FS.

Ставим сфинкс, ротацию топиков-комментов вешаем на крон, сам сфинкс просто вешаем на сокет.

Если не можете позволить себе полностью переместить LS в RAM FS, сделайте это хотя бы для каталога шаблонов — и немного, и ощутимо сэкономите ресурсы.

Вот, в принципе, и всё… по просьбе могу расписать любой пункт более подробно.

Да пребудет с вами мудрость Селестии.
  • avatar mixan
  • 0
Как на хабре можно сделать.
в css прописать:
.topic .title .share .twitter{float:left;margin-right:5px;padding:6px 0;}
.topic .title .share .twitter a{opacity: 0.5;display:block;width:14px;height:16px;background:url("../images/bg-icon-twitter.gif") no-repeat scroll 0 0 transparent;}
.topic .title .share .twitter a:hover{opacity:1;}

.topic .title .share .vkontakte{float:left;margin-right:5px;margin-top:1px;padding:6px 0;}
.topic .title .share .vkontakte a{opacity: 0.5;display:block;width:14px;height:16px;background:url("../images/bg-icon-vkontakte.png") no-repeat scroll 0 0 transparent;}
.topic .title .share .vkontakte a:hover{opacity:1;}

.topic .title .share .facebook{float:left;margin-right:15px;padding:6px 0;}
.topic .title .share .facebook a{opacity: 0.5;display:block;width:14px;height:16px;background:url("../images/bg-icon-facebook.png") no-repeat scroll 0 0 transparent;}
.topic .title .share .facebook a:hover{opacity:1;}


В topic_topic.tpl, topic_photoset.tpl, topic_link.tpl, topic_question.tpl добавить:
<ul class="share">
			<li class="twitter"><a href="http://twitter.com/intent/tweet?text={$oTopic->getTitle()|escape:'html'}+{$oTopic->getUrl()}" title="Опубликовать ссылку в Twitter" target="_blank"></a></li>
			<li class="vkontakte"><a href="http://vkontakte.ru/share.php?url={$oTopic->getUrl()}"  title="Опубликовать ссылку во ВКонтакте" target="_blank"></a></li>
			<li class="facebook"><a href="http://www.facebook.com/sharer.php?u={$oTopic->getUrl()}"  title="Опубликовать ссылку в Facebook" target="_blank"></a></li>
		</ul>


Ну если что сами подправьте.