Железо → Как бы я рассказал о возможностях чипсета Intel Z68 Express на примере MSI Z68A-GD80 (B3)

Предлагаю от лица подготовленного пользователя познакомиться с возможностями нового чипсета от ребят из Санта-Клары на примере флагманской материнской платы MSI Z68A-GD80 (B3). Разумеется, заранее я знаю, с чем мне придется столкнуться: возможность разгона процессора и встроенной графики, технология Intel RST SSD Caching (Rapid Storage Technology) и, конечно же, уникальная в своем роде инициатива LucidLogix Virtu.
.NET → Postsharp. Решаем задачу кэширования
Иногда попадаются такие ситуации, в которых нет никакой возможности ускорить работу некоторой операции. Она может зависеть от какого-то сервиса, который располагается на внешнем web сервере, или это может быть операция, которая дает высокую нагрузку на процессор. Или же это могут быть быстрые операции, однако, их параллельная работа может высосать из вашего компьютера все ресурсы производительности. Существует огромное количество причин чтобы использовать кэширование. Следует отметить, что PostSharp, изначально не предоставляет решений для вас какого-либо фреймворка кэширования, просто он позволяет сделать эту задачу на порядки быстрее, без каких-либо занудных действий, типа расстановки кода, отвечающего за кэширование по всему исходному тексту программы. Он позволяет решить эту задачу элегантно, вынося задачи в классы и позволяя их повторно использовать.JAVA → Несколько неожиданное поведение кеширования при boxing-е
Недавно на The Daily WTF писали о том, как с помощью Reflection можно неплохо подпортить кровь коллегам.Допустим, у вас есть следующий код:
public class ConstantHolder {
public static final Integer THE_ANSWER_TO_LIFE_THE_UNIVERSE_AND_EVERYTHING = 42;
}
иpublic class TestBoxingVulnerability {
public static void main(String[] args) {
int theAnswer = ConstantHolder.THE_ANSWER_TO_LIFE_THE_UNIVERSE_AND_EVERYTHING;
System.out.println(theAnswer == 42);
}
}
Очевидно, что будет выведено true. Однако в проекте может оказаться такой код, который может изменить ситуацию в обратную сторону. Под катом приведён пример такого кода.
Drupal → Еще один взгляд на кэширование на Drupal из песочницы
На хабре недавно была опубликована статья под названием "Кэширование на Drupal". Хотелось бы добавить несколько соображений по теме.
Ни для кого не секрет, что Drupal голоден до ресурсов, а кэширование это чуть ли не первое что приходит в голову. Расскажу как выстроена общая схема кэширования на нашем сайте.
Первая линия обороны — мы используем CDN (Content Delivery Network), в нашем случае это AKAMAI. AKAMAI настроен на кэширование всего. Картинки, CSS, JavaScript, ответы на все GET запросы, все это кешируется в не зависимости от того аноним пользователь или зарегистрирован. Интервал кэширования от 1 до 5 минут для страниц, 45 минут для CSS и JavaScript, и час для остальных ресурсов. Такое распределение позволяет существенно уменьшить нагрузку на сервера.
Ни для кого не секрет, что Drupal голоден до ресурсов, а кэширование это чуть ли не первое что приходит в голову. Расскажу как выстроена общая схема кэширования на нашем сайте.
Первая линия обороны — мы используем CDN (Content Delivery Network), в нашем случае это AKAMAI. AKAMAI настроен на кэширование всего. Картинки, CSS, JavaScript, ответы на все GET запросы, все это кешируется в не зависимости от того аноним пользователь или зарегистрирован. Интервал кэширования от 1 до 5 минут для страниц, 45 минут для CSS и JavaScript, и час для остальных ресурсов. Такое распределение позволяет существенно уменьшить нагрузку на сервера.
Персональные блоги → Flowplayer и Internet Explorer (IE)
Проблема
Ставил тут Flowplayer на сайт Агуши и столкнулся с непонятным поведением IE относительно этого плеера. Первый раз открываю страницу — всё ок (видео подгружается и играется), а если сделать refresh (f5) — то на сером фоне крутится кружочек загрузки и ничего не происходит.
Поиски
Долго гуглил по этой теме, нагуглил лишь только открытую тему на форуме самого плеера. Стал копаться сам.
Высокая производительность → Подводные камни при использовании кэширования в nginx
В web-сервер и reverse-proxy nginx встроены очень мощные возможности по кэшированию HTTP-ответов. Однако в ряде случаев документации и примеров не хватает, в результате не все получается так легко и просто, как хотелось бы. Например, мои конфиги nginx-а местами написаны кровью. Этой статьей я попробую немного улучшить ситуацию.
В этой статье: а) подводные камни при полностраничном кэшировании; б) кэширование с ротацией; в) создание динамического «окна» в закэшированной странице.
Я буду предполагать, что вы используете связку nginx+fastcgi_php. Если вы применяете nginx+apache+mod_php, просто замените имена директив с fastcgi_cache* на proxy_cache*
Если выбирать, кэшировать ли страницу на стороне PHP или на стороне nginx, я выбираю nginx. Во-первых, это позволяет отдавать 5-10 тыс. запросов в секунду без каких-либо сложностей и без умных разговоров о «высокой нагрузке». Во-вторых, nginx самостоятельно следит за размером кэша и чистит его как при устаревании, так и при вытеснении нечасто используемых данных.
Если на вашем сайте главная страница хоть и генерируется динамически, но меняется достаточно редко, можно сильно снизить нагрузку на сервер, закэшировав ее в nginx. При высокой посещаемости даже кэширование на короткий срок (5 минут и меньше) уже дает огромный прирост в производительности, ведь кэш работает очень быстро. Даже закэшировав страницу всего на 30 секунд, вы все равно добьетесь значительной разгрузки сервера, сохранив при этом динамичность обновления данных (во многих случаях обновления раз в 30 секунд вполне достаточно).
В этой статье: а) подводные камни при полностраничном кэшировании; б) кэширование с ротацией; в) создание динамического «окна» в закэшированной странице.
Я буду предполагать, что вы используете связку nginx+fastcgi_php. Если вы применяете nginx+apache+mod_php, просто замените имена директив с fastcgi_cache* на proxy_cache*
Если выбирать, кэшировать ли страницу на стороне PHP или на стороне nginx, я выбираю nginx. Во-первых, это позволяет отдавать 5-10 тыс. запросов в секунду без каких-либо сложностей и без умных разговоров о «высокой нагрузке». Во-вторых, nginx самостоятельно следит за размером кэша и чистит его как при устаревании, так и при вытеснении нечасто используемых данных.
Кэширование всей страницы целиком
Если на вашем сайте главная страница хоть и генерируется динамически, но меняется достаточно редко, можно сильно снизить нагрузку на сервер, закэшировав ее в nginx. При высокой посещаемости даже кэширование на короткий срок (5 минут и меньше) уже дает огромный прирост в производительности, ведь кэш работает очень быстро. Даже закэшировав страницу всего на 30 секунд, вы все равно добьетесь значительной разгрузки сервера, сохранив при этом динамичность обновления данных (во многих случаях обновления раз в 30 секунд вполне достаточно).
Scala → Scala: Кэширование результатов исполнения методов
Иногда возникает необходимость кэширования результатов исполнения методов. Одно из возможных решений для java описано здесь. Всё, в принципе, тривиально: EHCache, Spring AOP для перехвата вызовов, немножко кода.
Рассмотрим, как мне кажется, более элегантное решение на scala.
Рассмотрим, как мне кажется, более элегантное решение на scala.
PHP → Паттерн кэширования для моделей
A caching pattern for models
Паттерн кешування для моделей
Паттерн кэширования для моделей
Это паттерн для моделей использующих Zend_Cache и магический метод __call.
Простая идея
Изначальный смысл в том, что модель должна иметь возможность возвращать не кэшированные или кэшированные вызовы, без постоянной инициализации определенного объекта. Должно происходить легкое переключение между двумя вызовами, и кэш должен приходить уже с моделью объекта.
Читать дальше →
Персональные блоги → Облако тэгов на ASP.Net с кэшированием.
Одим хмурым воскресным утром мне было нечего делать и я решил попробовать написать свой вариант велосипеда – облако тэгов на ASP.Net. Результат получился довольно интересным, поэтому решил оформить его в виде статьи и выложить на Хабре.
Сразу оговорюсь – это результат всего-лишь полуторачасового кодинга, соответственно просьба не воспринимать его как полностью готовый контрол, а лишь как концепт, который еще можно развивать и развивать.
Сразу оговорюсь – это результат всего-лишь полуторачасового кодинга, соответственно просьба не воспринимать его как полностью готовый контрол, а лишь как концепт, который еще можно развивать и развивать.
PHP → PHP Performance Series: Caching Techniques
Кеширование промежуточного кода (Opcode Caching)
Кэширование кода это один из самых легких и эффективных путей увеличения производительности в PHP. Использовании данного вида кэширования позволит избавиться от большого количества неэффективностей, возникающих при процессе запуска выполнения кода. Кэширование кода сохраняет промежуточный код в памяти для того чтобы не компилировать PHP-код каждый раз при запуске файла.
Кэширование кода это один из самых легких и эффективных путей увеличения производительности в PHP. Использовании данного вида кэширования позволит избавиться от большого количества неэффективностей, возникающих при процессе запуска выполнения кода. Кэширование кода сохраняет промежуточный код в памяти для того чтобы не компилировать PHP-код каждый раз при запуске файла.