Pull to refresh
  • by relevance
  • by date
  • by rating

Аппаратный архиватор GZIP от Comtech AHA

Computer hardware
Компания Comtech AHA объявила о выпуске «первой в мире микросхемы, на аппаратном уровне реализующей сжатие и распаковку информации по алгоритму GZIP».
С учетом заявленной пропускной способности в 2,5 Гб в секунду, чип AHA3610 способен в четыре раза увеличить скорость передачи данных и снизить требования к ОЗУ в приложениях типа сетей хранения данных, web-серверов, web-акселераторов и пр.

Массовые поставки AHA3610 запланированы на начало января 2008 года. А опытные образцы устройства уже доступны по цене $55 за штуку.

via IXBT
Total votes 31: ↑30 and ↓1 +29
Views603
Comments 21

CSS: все о сжатии

Client optimization
После статей «Практический CSS/JS: архивируем все!» и «JavaScript: жать или не жать» стало ясно, что проблема уменьшения CSS-файлов в размере действительно актуальна, и общественности хотелось бы аналогичного исследования уже конкретно для такой оптимизации. Которое, собственно, и приведено ниже.

В интернете было найдено 6 различных инструментов для минимизации CSS-кода (однако, с одним из них, перловым модулем, разобраться не удалось, поэтому приведены результаты только для 5), далее ими обрабатывались несколько примеров, которые затем подвергались еще и архивированию. Результаты, опять-таки, представлены в виде графиков, ибо таблицы я нахожу менее информативными.

График сжатия CSS-файлов

читать дальше на webo.in →
Total votes 41: ↑39 and ↓2 +37
Views1.4K
Comments 29

Как gzip-сжатие влияет на производительность сервера

Client optimization
Несколько статей и переводов по оптимизации (gzip для Apache, gzip для CSS- и JS-файлов, CSS-сжатие, JS-сжатие) уже затрагивали тему применения архивирования для уменьшения размера файлов, и, тем самым, увеличения скорости их передачи конечному пользователю. В данном исследовании я задался вопросом: а как динамическое gzip-сжатие влияет на быстродействие сервера? Рентабельно ли включать mod_gzip / mod_deflate для высоконагруженных проектов? И в каких случаях архивирование вообще лучше не использовать?

Отдельно хочется сказать спасибо одному из читателей Хабра, который в личной переписке (к сожалению, исходное письмо безвозвратно потерялось, поэтому буду признателен, если он о себе напомнит) настойчиво пытался прояснить этот вопрос, что послужило отличным стимулом для написания данной статьи.

читать дальше на webo.in →
Total votes 58: ↑55 and ↓3 +52
Views3.4K
Comments 40

Исследование степени gzip-сжатия и загрузки процессора

Client optimization
Статья «Как gzip-сжатие влияет на производительность сервера» вызвала вполне понятную, но несколько неоднозначную реакцию, ибо было не понятно, насколько сильно издержки на gzip зависят от степени сжатия и как ее прогнозировать с учетом всех остальных параметров. Хочется сказать отдельное спасибо посмотреть профиль alfa, который, собственно, и поднял этот вопрос.

Итак, новая серия тестов была направлена на установление зависимости между степенью сжатия, процессорными издержками и уменьшением размера файла, чтобы на основе этих данных сделать аналитический инструмент для вычисления оптимальной степени сжатия.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Views5.9K
Comments 28

asp.net: gzip, несколько вариантов включения

.NET
Сжатие web-содержимого посредством gzip (GNU zip) – это довольно старая технология. Суть ее сводится к тому, что web-содержимое перед отправкой пользователю сжимается по известному всем алгоритму zip. Сама спецификация gzip описана в RFC1952, версия 4.2 которой датируется маем 1996 года. На сегодняшний день все популярные браузеры и веб-серверы поддерживают сжатие web-содержимого посредством gzip. В этой статье я постараюсь рассказать о нескольких способах включения в проекты asp.net поддержки gzip-сжатия.
Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Views10.2K
Comments 37

Кэширование js сжатием gzip

Client optimization
Cache — временные данные или устройство по их хранению, созданные для ускорения чтения/записи. Все программисты это знают. Ускорение загрузки web-сайтов тема обширная, начинающаяся с сервера и заканчивающаяся клиентом. К сожалению я не нашёл более-менее подходящих решений по объединению и кэшированию js-кода, поэтому к своему блогу я написал свою схему, о которой вкратце и расскажу..
Существует сжатие «packer», которое убирает все символы форматирования и переименовывает имена функций и переменных в js и предоставляет т.н. minified-версию скрипта. Все с этим прекрасно знакомы на примере больших библиотек jQuery, TinyMCE, prototype. Кроме того что код становится совершенно не читаемым, это может вызвать неработоспособность кода, когда имена переменных динамические.
Моя идея простая — разделять js/css по файлам разработчикам надо для поддержания модульной структуры. Обычно я в контроллере создаю список файлов которые надо присоединить к данному документу, вместо того что-бы прописывать это вручную в темплейте. Но теперь надо сделать так, что-бы до показа темплейта вызывалась функция кэширования, которая проходилась бы по списку, проверяла из них локальные файлы на время изменения, объединяла в один файл и создавала или перезаписывала gz-файл с именем, сформированным из md5-хэша имён входящих файлов.
Всё просто и в сумме заняло часа 4 на раздумье. Привожу метод cache_js из класса Controller.
Читать дальше →
Total votes 28: ↑24 and ↓4 +20
Views3.3K
Comments 29

Поисковый робот Яндекса поддерживает Crawl-delay и GZIP

IT-companies
Веб-мастера получили новые возможности управления роботом Яндекса, позволяющие оптимизировать нагрузку на сервер и трафик:
Total votes 15: ↑13 and ↓2 +11
Views475
Comments 1

PHP: Уменьшаем исходящий трафик (или изобретаем очередной велосипед)

Lumber room
В связи с разработкой мобильной версии сайта столкнулся с проблемой — передается много данных, как следствие на мобильном телефоне тратится много денег, было решено написать несколько функций предназначенных для уменьшения передаваемых данных
Читать дальше →
Total votes 1: ↑5.5 and ↓-4.5 +10
Views492
Comments 27

Практический CSS/JS: архивируем все!

Client optimization
Translation
Примечание: ниже частичный перевод статьи «Compress JavaScript and CSS without touching your application code», в которой описывается статичное сжатие CSS- и JS-файлов на сервере и корректная выдача их затем клиенту. Далее даны мои комментарии с более комплексным решением. Приношу извинения, если для кого-то тема будет слишком знакома или неинтересна: в Рунете нормальной статьи на данную конкретную тематику обнаружить не удалось.

Для обеспечения корректного архивирования вашего веб-контента, по-видимому, наиболее общий подход будет заключаться в выполнении по порядку следующих пунктов:

  • Проверить, умеет ли клиент принимать файлы в формате gzip-encoded.
  • Обеспечить соответствующий вывод на стороне сервера через gzip-функции, либо уповать на то, что всем этим займется непосредственно Apache.
  • Поиграться с .htaccess, чтобы обеспечить корректный content type.


читать дальше на webo.in →
Total votes 38: ↑36 and ↓2 +34
Views2.3K
Comments 68

Разгоняем картинки: PNG вместо GIF

Client optimization
Translation
Примечание: ниже приведен перевод статьи «Replace GIF with PNG Images» о том, в каких случаях стоит использовать PNG-формат вместо GIF. Мои комментарии далее курсивом.

Введение



Переносимый сетевой графический формат (Portable Network Graphics, PNG) разрабатывается как более эффективная, гибкая и свободная от патентов замена GIF-формату. PNG был задуман для хранения отдельных растровых изображений для дальнейшего распространения по компьютерным сетям (1). PNG был создан в 1995 в ответ на давление со стороны Unisys и их патента на алгоритм LZW-сжатия, используемый в GIF. Хотя срок действия патента Unisys уже закончился, причины на переход от GIF к PNG остались, практически, прежними (2). Заменив ваши GIF-изображения теми же самыми, но в формате PNG, вы можете ускорить загрузку ваших страниц и сэкономить трафик ваших пользователей.

PNG против GIF: алгоритмы сжатия



PNG использует алгоритм deflate-сжатия обычно с 32Кб скользящим (sliding) окном. Deflate является улучшенной версией алгоритма сжатия Lempel-Ziv (LZ77), который используется в ZIP- и GZIP-файлах (3, 4). Созданный Phil Katz для второй версии PKZip, deflate совмещает LZ77 с кодированием Huffman и является от 10% до 30% более эффективным, чем LZW при сжатии без потери информации. Так же, как и GZIP, некоторые инструменты по PNG-сжатию предполагают опциональный параметр «степень сжатия», которая варьируется от 1 до 9. По умолчанию выставляется 6. 9 является практически всегда лучшим выбором для максимального сжатия.

Не удивительно, что изображения, сохраненные как PNG, обычно от 10% до 30% меньше, чем GIF, хотя в некоторых редких случаях они могут быть больше по размеру (5, 6). В нашем тестировании мы обнаружили, что часть картинок могут быть сжаты от 40% до 50% или даже больше (до 85% для одного примера), в зависимости от изображения. По большей части изображения с большими однотонными областями сжимаются лучше, чем градиентные с большим количеством переходов между цветами.

читать дальше на webo.in →
Total votes 56: ↑53 and ↓3 +50
Views5.3K
Comments 99

Разогнать главную Яндекса? Реально!

Client optimization
Еще год назад у меня вызвало некоторое сомнение, что использование HTML 4.0 Transitional для разметки страницы будет экономичнее, чем XHTML 1.0 Strict с его жесткими стандартами оформления кода. Но тогда у меня не было особого желания проверять свою гипотезу, да я и плохо представлял, как это лучше сделать.

XHTML, являясь подмножеством XML, имеет более строгие требования к синтаксису, HTML допускает более свободную запись, этим можно воспользоваться.

Полная версия доклада про оптимизацию главной Яндекса
Читать дальше на webo.in→
Total votes 75: ↑50 and ↓25 +25
Views523
Comments 44

Ускоряем wordpress

WordPress
Привет.
Думаю, среди читателей хабра найдется немало тех, кто имеет stand-alone blog на движке wordpress.

Так вот, для вас, дорогие мои, у меня есть две новости, как водится, плохая и хорошая.
Плохая состоит в том, что wordpress — довольно-таки тормознутая штука.
Виноваты в этом в основном криворукие производители тем и, особенно, криворукие производители плагинов. Особенно кривой плагин, на мой вкус, wp-ajax-edit-comments, который является образцом быдлокодинга.

Хорошая — в том, что это можно поправить.

Делается это примерно так:
Total votes 63: ↑52 and ↓11 +41
Views9.6K
Comments 35

Оптимизация загрузки страниц на практике

Client optimization
Наткнулся на кучу интересных статей на webo.in и зачитался. Решил применить описанное там на реальном проекте. Вот что получилось. Проектик маленький — сайт моих друзей Bookcare. Они делают обложки для книг, а их сайт — мой «проект выходного дня».
Читать дальше →
Total votes 42: ↑38 and ↓4 +34
Views11.1K
Comments 46

PHP Speedy — наше все

Self Promo
PHP SpeedyЧто такое PHP Speedy? Это набор php-скриптов, которые позволяют объединять и сжимать CSS- и JS-файлы для веб-сайта, написанного на PHP. Изначально разрабатывался как приложение к Wordpress, но сейчас получил более широкое распространение.

PHP Speedy был выбран в качестве основы для начала разработки Web Optimizer — веб-приложения, автоматизирующего клиентскую оптимизацию. Предполагается, что такое приложение можно будет максимально быстро и максимально легко развернуть на любой платформе, а оно уже само позаботится о всех действиях, связанных со скоростью загрузки страницы.

Как показала практика, клиентская оптимизация интересует большой круг людей. Но очень многих останавливает то, что нужны специальные знания для освоения этой области. Web Optimizer создается как раз, чтобы убрать этот барьер (и как наш ответ Чемберлену www.getrpo.com :).
Читать дальше →
Total votes 83: ↑74 and ↓9 +65
Views759
Comments 45

Статическое сжатие css и js файлов (автоматизация процесса)

Lumber room
По причине отсутствия на хостинге mod_gzip, пришлось реализовывать компрессию css и js через статическое сжатие. С другой стороны, может оно так и лучше… Но, сразу же возникает одно но. Проводить подобную операцию вручную хоть и можно, но крайне не производительно, желательно все это автоматизировать. Вот один из простеньких вариантов подобной автоматизации, реализованный на php, здесь и показан.

Для начала разберемся с поставленной задачей. Имеется локальная версия сайта (Apache, php), активно изменяемая и корректируемая. В процессе работы мы должны иметь сжатые версии css и js файлов (готовый результат при тестировании надо видеть сразу).

Значит нам надо:
  1. Найти все файлы css и js (даже если они находятся во вложенных папках)
  2. Создать сжатую версию (причем не каждый раз, а только если файл был изменен)
  3. Реализовать автоматическую отдачу сервером актуальной версии файла (в сжатом виде, если это поддерживает браузер)

Конечно, сюда не сложно добавить и объединение файлов, если нужно, но здесь речь идет не об этом…

Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Views931
Comments 11

GZip и nginx: влияние на производительность

Server optimization
Добрый день. Недавно меня заинтересовал модуль ngx_http_gzip_static_module, и я решил погонять мой домашний сервер немного с разными настройками сжатия nginx, чтобы убедится, действительно ли современные процессоры настолько быстрые, что можно ставить сжатие в 9-тку и не париться. В качестве подопытного файла выступала слитая главная страница lenta.ru – 170кб. Во время тестирования обнаружилась интересная особенность, которая изменила мои взгляды на выбор количества процессов nginx.
Читать дальше →
Total votes 87: ↑82 and ↓5 +77
Views32.4K
Comments 43

xz — сила сжатия LZMA уже в твоей консоли

Data compression
Многие наверное уже знают про утилитку для компрессии/декомпрессии xz. Но еще больше не знают. Поэтому написал этот ознакомительный топик.

xz — формат сжатия данных, наряду с gzip, bzip2 вошедший в gnu-шные приложения.
Использует алгоритм LZMA, тот же что и в 7z, а это значит что можно сильнее сжать многие виды данных, типа текста, бинарные еще не сжатые данные по сравнению с стандартными, упомянутыми выше.
xz используется в новом rpm 4.7.2 для компрессии архивов .cpio в rpm-пакетах (используется с Fedora 12).
В ArchLinux вообще используется .tar.xz в качестве пакета.
В GNU tar появились опции -J --lzma, которые исполняют туже роль что и -z для gzip, -j для bzip2
Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Views9.9K
Comments 11

libral – слой абстракции доступа к библиотекам сжатия

C++
Привет Хабр! Хочу представить свою С/С++ библиотеку libral, которая с недавних пор стала open source под лицензией GPL3. Возможно кому-то она будет полезна. Библиотека предоставляет единый интерфейс к различным алгоритмам сжатия данных без потерь.
На данный момент поддерживаются библиотеки:

Читать дальше →
Total votes 45: ↑38 and ↓7 +31
Views975
Comments 34