Большинство unity-разработчиков знают, что не стоит злоупотреблять дорогими для производительности операциями, такими как, например, получение компонентов. Для этого стоит использовать кэширование. Но и для такой простой оптимизации можно найти несколько различных подходов.
В этой статье будут рассмотрены разные варианты кэширования, их неочевидные особенности и производительность.
Рубрика «кэширование» - 3
Особенности кэширования компонентов в Unity3D
2016-06-17 в 19:02, admin, рубрики: C#, unity3d, геймдев, кэширование, разработка игр, теги всё равно никто не читаетНовая память для новой архитектуры хранения данных
2016-04-25 в 10:50, admin, рубрики: HPE, HPE Persistent Memory, NVDIMM, Postgres Pro, postgresql, sql server, Администрирование баз данных, Блог компании Hewlett Packard Enterprise, ит-инфраструктура, кэширование, ускорение, флэш, хранение данныхВ течение последнего десятилетия быстродействие процессоров выросло примерно в 10 раз, оперативной памяти – в 8 раз, сетей – в 100 раз, внутренней шины вычислительных систем – в 20 раз, а накопителей на жестких дисках – всего в 1,5 раза. То есть увеличение производительности подсистемы хранения серверов существенно отстает от роста производительности центрального процессора, оперативной памяти, внутренней шины, а также пропускной способности сетей. Недостаточная производительность традиционных жестких дисков (HDD) приводит к увеличению времени отклика приложений. Еще вчера решением могло быть только использование SSD или PCIe-флэш. Сегодня мы шагнули еще дальше с новым типом накопителей непосредственно на шине оперативной памяти!
HPE Smart Cache: а вы уже ускоряете?
2016-02-15 в 13:39, admin, рубрики: HPE Smart Cache, Блог компании Hewlett Packard Enterprise, ит-инфраструктура, кэширование, хранение данных Кэширование данных не является чем-то новым для дисковых подсистем серверов или систем хранения данных. Как известно, кэш — это промежуточное звено между данными и дисковой подсистемой. Учитывая, что SSD с быстрым доступом уже достаточно прочно вошли в нашу жизнь, использование All-Flash подсистем до сих пор доступно не всем по тем или иным причинам (в основном — экономическим, т.к. все теории о низкой надёжности SSD так и не получили каких-либо серьёзных подтверждений). Но желание ускорить быстродействие своей подсистемы хранения, организованной на классических HDD дисках всё же присутствует и является в наше время в большей степени необходимостью. Ввиду того, что размер кэша имеет немалое значение — увеличение его объёма пойдёт только на пользу для высоконагруженных систем. Здесь-то нам на помощь и приходит SSD кэш.

Практически все производители RAID-контроллеров, уже представили модели контроллеров, которые поддерживают кэширование на SSD, а сегодня, мы посмотрим на то, как это было реализовано компанией HPE на базе её контроллера HPE Smart Array P440ar.
Читать полностью »
nopCommerce CMS на ASP.NET MVC: обзор функционала новой версии
2016-02-05 в 7:35, admin, рубрики: #isvcloudstory, ASP.NET, asp.net mvc, azure, blobs, cms, Microsoft Azure, nopcommerce, redis, Блог компании Microsoft, Веб-разработка, кэшированиеnopCommerce – это движок для создания интернет-магазинов с открытым исходным кодом и написанный на ASP.NET MVC. Разрабатывается проект нашими соотечественниками из города Ярославль, и на сегодняйшний день на его основе работает более 20,000 сайтов, включая такие бренды как Volvo, Turkish Airlines, Reebok.

Несколько дней назад вышла новая версия продукта 3.70, в которой разработчики добавли полную поддержку Windows Azure. В предыдущих версий владельцы магазинов могли использовать только один instance в Azure, теперь же была добавлена поддержка нескольких. Следовательно, по сути этот функционал можно использовать на веб фермах. Это открываем нам отличные возможности для масштабирования приложения.
Предположим, что вы уже скачали (http://www.nopcommerce.com/downloads.aspx) и установили (http://docs.nopcommerce.com/display/nc/Installing+nopCommerce) nopCommerce в Azure. Итак, что же было сделано для поддержки Azure, и как все это настроить и включить:
Читать полностью »
Основные ловушки при использовании кэша в HTML5-приложениях
2015-04-01 в 10:26, admin, рубрики: appcache, html, Блог компании Paysto, кэширование, метки: AppCacheКэш приложений, также известный как AppCache, на сегодняшний день является одной из самых острых тем для веб-разработчиков. AppCache позволяет дать возможность посетителям вашего сайта загружать сайт, когда они офлайн. Вы даже можете сохранять части вашего сайта, такие как изображения, таблицы стилей или веб-шрифты в кэше на компьютере пользователя. Это может помочь быстрее загружать ваш сайт, тем самым снижая нагрузку на ваш сервер.
Чтобы использовать AppCache, создается файл описания с расширением «appcache», например, manifest.appcache. В этом файле можно перечислить все файлы, которые должны кэшироваться. Чтобы включить эту функцию на вашем сайте, необходимо включить ссылку на этот файл описания на вашей веб-странице в html-элемент следующим образом:
Читать полностью »
Гид по заголовкам кэширования HTTP для начинающих
2015-03-15 в 17:20, admin, рубрики: cache, http headers, Веб-разработка, кэширование, Серверная оптимизация, Сетевые технологии, метки: http headers, http заголовкиВ статье данные сведения по заголовкам кэширования (ЗК) для HTTP и соответствующее поведение сетей доставки контента (CDN). Если вам хочется разобраться, каким образом заголовки кэширования вписываются в современный веб, или вам просто интересно, о чём говорят ваши коллеги – эта статья для вас.
Если вы уже понимаете преимущества ЗК, и хотите расширить свои знания, я рекомендую вам обратиться к документации от W3.
Что могут ЗК сделать для вас?
Проще говоря, кэширование позволяет хранить веб-ресурсы на удалённых точках по пути от вашего сервера к пользовательскому браузеру. Браузер тоже хранит у себя кэш, чтобы клиенты не запрашивали у вас постоянно одни и те же ресурсы.
Настройки кэширования веб-трафика крайне важны для посещаемых сайтов. Если вы платите за трафик, получаете доход от электронной коммерции, или просто хотите поддерживать свою репутацию хорошего веб-разработчика, вам нужно разбираться в том, как работает кэширование.
Читать полностью »
PHP + Java, или In-memory кластер теперь и для PHP разработчиков
2014-05-26 в 7:59, admin, рубрики: caching, cluster, highload, in-memory-data-grid, open source, php, высокая производительность, кеширование, кластер, кэшированиеIntro

PHP + Java. Картинка взята отсюда
В этом комментарии к статье под названием «Пишите код каждый день» я сказал, что скоро покажу свой проект, на который я выделял ежедневно 1 час (кроме выходных). Так как в последнее время моя работа связана с написанием распределенных Java приложений, которые используют in-memory data grid (IMDG) в качестве хранилища данных, то мой проект связан именно с этим.
Подробнее про IMDG можно почитать в моих предыдущих статьях (1, 2). Но если кратко, то это кластерное распределенное хранилище объектов по ключам, которое держит все данные в памяти, за счет чего достигается высокая скорость доступа к данным. Позволяет не только хранить, но и обрабатывать данные, не извлекая их из кластера.
И если интерфейс для обработки данных у каждого конкретного IMDG свой, то интерфейс доступа к данным обычно идентичен хеш-таблице.
О чем эта статья
Большинство IMDG написано на Java и поддерживают API для Java, C++, C#, при этом API для веб языков программирования (Python, Ruby, PHP) не поддерживается, а протокол для написания клиентов сильно ограничен. Именно этот факт я и считаю основным тормозом для проникновения IMDG в массы — отсутствие поддержки самых массовых языков.
Так как производители IMDG пока не предоставляют поддержку веб языков, то веб программисты не имеют возможностей по такому же легкому масштабированию приложений, какие есть у серверных Java разработчиков. Поэтому я решил сделать нечто подобное самостоятельно и выложить в open source, взяв в качестве движка open source IMDG JBoss Infinispan (компания JBoss, принадлежащая Red Hat, довольно хорошо известна в кругу java разработчиков). Мой проект называется Sproot Grid, пока доступен только для PHP, но если у сообщества будет интерес, то сделаю и интеграцию с Ruby и Python.
В этой статье я еще раз расскажу про in-memory data grid и про то, как конфигурировать, запускать и использовать Sproot Grid.
Читать полностью »
Простой способ кэширования шаблонов на PHP
2014-02-05 в 17:46, admin, рубрики: php, web-разработка, высокая производительность, кэширование, оптимизация, производительность, метки: PHP, web-разработка, кэширование, оптимизация, производительностьЧасто при разработке приложений на PHP встаёт вопрос кэширования всего выводимого приложением шаблона, либо какой-то его части, которая довольно статичная во времени. Если при разработке использовался какой-либо шаблонизатор, то данный вопрос решается «из коробки». Но не во всех приложениях на PHP используются шаблонизаторы, а вопрос о кешировании шаблона или его части остаётся открытым. Ниже описан один из вариантов решения данной проблемы.

Опыт внедрения кэширования в небольшой проект с сильной социальной составляющей
2014-02-05 в 7:59, admin, рубрики: memcached, mysql, php, Веб-разработка, высокая производительность, кэширование, метки: memcached, mysql, PHP, кэшированиеХочу поделиться опытом внедрения кэширования при помощи memcached на своем сайте. Текст будет полезен новичкам в веб-разработке, которые задаются вопросом «как же применять на практике те 100500 статей о кэшировании, которые легко находятся в поисковиках». На истину не претендую, просто рассказываю, как получилось у меня.
Исходные данные:
Сайт крутится на одном выделенном сервере, но из-за вероятности в будущем еще подрасти, для кэширования выбран memcached;
Суточная посещаемость: ~23 000 уникальных посетителей и ~300 000 просмотров страниц;
80% посетителей — авторизованные пользователи;
Основной контент: текст (книги, которые авторы пишут и публикуют на сайте по главам, наподобие самиздата).
Сервисы: персонализированные новости, чтение текстов, разбитых на главы, комментарии, профили, блоги, рейтинги, подписка, метки, закладки, личные сообщения, счетчики, почтовые уведомления…
Пользовательская активность: более 10 000 действий, приводящих к изменению контента, в сутки.
Сложность при внедрении кэширования: подавляющее большинство страниц содержит персонализированные данные. Где-то уникально все, вплоть до запросов в базу, где-то можно разделить запросы на общие и уникальные, где-то нельзя, где-то персональные настройки пользователя применяются на данные уже после их выбора из базы.
Читать полностью »
Интервью с Майклом Баснайтом (Michael Basnight), техническим руководителем проекта OpenStack Trove
2013-11-19 в 10:16, admin, рубрики: Galera Cluster, heat, Icehouse, java, mysql, open source, openstack, osgi, rackspace, redis, trove, Tungsten Replicator, zookeeper, Блог компании Mirantis/OpenStack, кэширование, мирантис, хранение данныхМы представляем восьмое из серии интервью с техническими руководителями проекта OpenStack в блоге Mirantis. Наша цель – обучить более широкое сообщество технических специалистов и помочь людям понять, как они могут внести вклад в проект OpenStack и извлечь из него выгоду. Естественно, ниже изложена точка зрения интервьюируемого, а не компании Mirantis.
Ниже приведено интервью с Майклом Баснайтом (Michael Basnight), техническим руководителем проекта OpenStack Trove.Читать полностью »


