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

Оценка производительности web-сервера с PHP и PostgreSQL

Website development
Довольно интересный материал "Serverwide Performance Benchmarking" в котором представлено исследование изменения производительности web-сервера в зависимости от типа файловой системы (Ext3, ReiserFS, JFS, XFS), размера буфера (shared buffer) PostgreSQL и наличия кэширования опкода в PHP (Advanced PHP Cache).

Абсолютным лидером среди ФС оказывается XFS, а из привычных ext3 — ext3 mode writeback noatime.
Немного странным выглядит малая эффективность PHP APC, но автор объясняет это простой и лёгкостью сайта, «там мало чего можно закешировать, но на бОльших проектах он обязательно поможет».

Via: opennet.ru
Total votes 10: ↑9 and ↓1 +8
Views1.9K
Comments 4

Быстрее-легче-стабильнее или “немного” о Wp-Super-Cache

Lumber room
Почему-то, как мне показалось, довольно тихо прошло появление очередного «всесильного всемогущего сокращающего время загрузки и нагрузку на сервер» плагина WP-Super-Cache, а ведь за бугром о нём только ленивый не писал и даже успели отDiggать страницу плагина почти тысячу раз. Поэтому, думаю, стоит всё же приглядеться и пощупать это чудо программерской мысли.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views656
Comments 2

Борьба с DDOS и DOS на уровне nginx

System administration
FreeBSD, сетевая Intel fxp, порт 100Мбит, polling, http accept-filter
в sysctl:

sysctl kern.maxfiles=90000
sysctl kern.maxfilesperproc=80000
sysctl net.inet.tcp.blackhole=2
sysctl net.inet.udp.blackhole=1
sysctl kern.polling.burst_max=1000
sysctl kern.polling.each_burst=50
sysctl kern.ipc.somaxconn=32768
sysctl net.inet.tcp.msl=3000
sysctl net.inet.tcp.maxtcptw=40960
sysctl net.inet.tcp.nolocaltimewait=1
sysctl net.inet.ip.portrange.first=1024
sysctl net.inet.ip.portrange.last=65535
sysctl net.inet.ip.portrange.randomized=0

Читать дальше →
Total votes 48: ↑45 and ↓3 +42
Views7.3K
Comments 42

Фрагментарное кэширование в MVC веб-фреймворках

PHP
Наверняка большинство программистов, работающих с современными веб-фрейворками, реализующими схему MVC, сталкивалось с таким небольшим затруднением: кэширование фрагмента View.

Хорошие фреймворки предлагают инструменты для полного кэширования страниц, фрагментарного, или кэширования экшенов. Недавно я посмотрел 90 выпуск подкаста Railscasts, посвященный именно фрагментарному кэшированию в Ruby on Rails и уважаемый автор решал проблему, как мне показалось, неоптимально.

Опишу ситуацию.
Мы в шаблоне страницы и хотим закэшировать ее часть, например, список новых товаров. Пока все хорошо, мы пользуемся встроенными во фреймворк удобными средствами и в две-три строчки окружаем блок — ура, он кэшируется. Но — чу!, контроллер-то об этом ничего не знает и продолжает выполнять свою работу по подготовке данных для View. Естественно, ведь проверка наличия кэша осуществляется уже из шаблона, а контроллер к тому моменту отработал.
Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Views2.5K
Comments 66

Распределённая система кеша ehcache для приложений любого уровня

Open source
Сегодня я хотел бы рассказать об одном интересном проекте, который вам пригодится при проектировании и реализации сложных веб-приложений на платформе Java. Речь идёт о ehcache — универсальной системе распределённого кеширования для Java приложений и сервлетов. Это необычно небольшое приложение (честно, такого уровня системы, размером в несколько сотен Кб это редкость, при этом высокого качества), которое реализует кеш как динамический (в оперативной памяти), так и дисковый кеш, причём изначально спроектированное для работы с кешами большого объёма (порядка гигабайтов) и в распределённых системах.

Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Views23.7K
Comments 8

Исследование производительности, часть 5: кеширование в iPhone — невозможное возможно

Client optimization
Translation
Примечание: ниже находится перевод статьи «Performance Research, Part 5: iPhone Cacheability — Making it Stick» из блога производительности YUI. Авторы исследовали поведение iPhone при загрузке страницы и сделали некоторые интересные выводы по производительности веб-страниц для этого мобильного устройства. Мои комментарии далее курсивом.

Эта статья, написанная в соавторстве с Wayne Shea, пятая в серии, посвященной описанию экспериментов, которые направлены на исследование производительности веб-страниц (часть 1, часть 2, часть 3 и часть 4). Вы, наверное, удивлены, почему статьи по производительности находятся в блоге YUI (Yahoo! User Interface, пользовательских интерфейсов Yahoo!). Так получается, что программирование клиентской части, что, по сути, равносильно разработке и созданию пользовательских интерфейсов, оказывает наибольшее воздействие на производительность веб-страниц (в свете ведущей роли инженеров Yahoo! в изучении производительности клиентской части, наверное, более удивителен тот факт, что такие статьи все еще находятся в этом блоге, а не выделены в отдельное направление).

читать дальше на webo.in →
Total votes 7: ↑5 and ↓2 +3
Views775
Comments 1

Выдаем тикеты при кешировании

PHP
Системы кеширования, с которыми я сталкивался, разработаны по принципу: задай объекту Cache параметры кеширования и работай с объектом Cache. До определенного времени меня устраивала подобная работа с кешем. Однако время не стоит на месте и однажды мне понадобился более удобный способ работы с кешем. В итоге появилась собственная реализация, основанная на тикетах. Суть ее состоит в том, что надо у объекта Cache запрашивать тикет, у тикета уже выставлять параметры (ключ, префикс и т.п.), и тикет должен уметь сохранять данные и извлекать их из кеша.
Это решило проблемы конфликтов при кешировании, когда кто-то начал работать с объектом Cache, выставлял какие-то параметры и передавал управление в метод, который тоже работает с кешем. Появилась возможность обмениваться тикетами.

Реализация для PHP, кеш ориентирован на хранение и извлечение данных из файловой системы: code.google.com/p/ewgra/source/browse/#svn/trunk/cache
Total votes 11: ↑8 and ↓3 +5
Views523
Comments 12

Плагин для просмотра кеша Оперы

Software
То, о чём так долго мечтали большевики пользователи Opera, свершилось!

Выпущен контентный (информационный) плагин для популярнейшего файлового менеджера Total Commander, позволяющий нормально просматривать информацию из кеша Opera 9.5x.
Выглядит это так:
Читать дальше →
Total votes 73: ↑58.5 and ↓14.5 +44
Views4.1K
Comments 22

Кеширование обычными средствами

PHP
Сегодня решил сделать то, что собирался уже давно — поставить таки кеширование скриптов у себя на сайте. Все скрипты перед отдачей пользователю собираются в один файл и сжимаются GZIP'ом — все вроде по-уму, но есть проблемка… Браузер отчаянно не хотел кешировать этот выходной скрипт.

Опытным путем было установлено, что PHP устанавливает хидеры запрета кеширования при использовании функции session_start();
Читать дальше →
Total votes 41: ↑29 and ↓12 +17
Views6.2K
Comments 41

3 простых совета, которые сделают ваше Rails приложение быстрее, часть #1

Ruby on Rails
  Я знаю, что уже много людей писали руководства, помогающие вашему веб-приложению работать быстрее. Но я постараюсь сосредоточиться на самых простых, но наиболее эффективных методах, которые помогут вам существенно ускорить ваше приложение без потери какого-либо функционала из Ruby on Rails.
Совет #1: Приберите ваш статический контент
Совет #2: Уберите все лишнее
Совет #3: Кэшируйте всю страницу
Читать дальше →
Total votes 33: ↑27 and ↓6 +21
Views1.4K
Comments 10

3 простых совета, которые сделают ваше Rails приложение быстрее, часть #2

Ruby on Rails
  Продолжаем оптимизировать наши приложения написанные на Ruby on Rails. Первая часть статьи здесь
Совет #1: Приберите ваш статический контент
Совет #2: Уберите все лишнее
Совет #3: Кэшируйте всю страницу
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views1.1K
Comments 13

3 простых совета, которые сделают ваше Rails приложение быстрее, часть #3

Ruby on Rails
Translation
  Заключительная статья по оптимизация Ruby on Rails приложения.
Совет #1: Приберите ваш статический контент
Совет #2: Уберите все лишнее
Совет #3: Кэшируйте всю страницу
Читать дальше →
Total votes 17: ↑12 and ↓5 +7
Views2K
Comments 9

Разгоняем Sharepoint до скорости Highload интернет сайта

SharePoint
Как известно, одиним из не очень приятных моментов при разработке интернет сайта на Sharepoint является его производительность. Но это не вердикт и с этим можно бороться.

В этой статье я коротко опишу основные возможности по кэшированию, используя которые можно существенно ускорить работу портала.

Во-первых можно включать механизмы кеширования страниц Sharepoint через веб интерфейс.

Возможно включать кэширование объектов и использовать кэширование в разработанных вами веб-частях и элементах управления.

Существует BLOB cache и сжатие средствами IIS.

Необходимо делать оптимизацию страниц и мастер страниц, то есть отключать core.js и core.css там, где они не нужны, убирать ненужные элементы управления. Помещать ваши собственные сборки в GAC и обязательно подписывать их. Использовать <SharePointWebControls:ScriptLink runat="server"/> и <SharePoint:CssLink ID="CssLink1" runat="server" /> для подключения css и js вместо аналогов из html.

Читать дальше...
Total votes 40: ↑25 and ↓15 +10
Views6.5K
Comments 39

Squid для самых маленьких. Часть 4 Режем канал

Configuring Linux
В предыдушем топике мы рассматривали программы для анализа логов сквида, с помощью которых можно смотреть кто, куда, когда ходил. Также можно посмотреть размер скачиваемого файла. Всё стало супер, теперь можно «шантажировать» тех кто качает порнуху, или сидит в соц сетях, лучшим продолжением этой эппопеи, которая не известно когда закончится :) будет ограничение cкорости закачки для разного рода групп людей. Ну, что, готовы? :) Поехали…
История:
Введение в сквид
Настройка
Статистика

Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views32.6K
Comments 5

Очистка локального репозитория от старых пакетов

Lumber room
Ситуация, когда в кэше накапливается несколько гигабайт пакетов, думаю, известна многим. Так же как и стандартное решение — удаление неустановленных пакетов
$ apt-get clean
Команда очистит директорию "/var/cache/apt/archives/", удалив все, а
$ apt-get autoclean
удалит не только старые версии пакетов локального кэша, но все, которые больше не доступны для скачивания.

Однако, зачастую необходимо удалить лишь устаревшие пакеты, не трогая при этом все остальные.
Далее
Total votes 19: ↑12 and ↓7 +5
Views2.4K
Comments 6

Кэш нынче в цене

Lumber room
Нигде так не понимают проблемы сегодняшнего веб-девелопмента, как в Переславле-Залесском:


(фотография со стены местного музея утюга)
Total votes 12: ↑6 and ↓6 0
Views151
Comments 8

Расширяем и улучшаем Cache в ASP.NET

.NET
Про ASP.NET-объект Cache наверняка знает каждый web-разработчик на платформе .NET. Совсем не странно, ведь это единственное решение для кэширования данных web-приложения в ASP.NET, доступное прямо из коробки.
Достаточно функциональный и легкий, снабженный механизмами приоритета, вытеснения, зависимостей и обратных вызовов, Cache хорошо подходит для небольших приложений, работая внутри AppDomain. Кажется, Microsoft предусмотрела все, что необходимо… Но я, тем не менее, хочу сделать его еще немного лучше. Чем же именно?
Об этом я расскажу под катом
Total votes 28: ↑21 and ↓7 +14
Views8.2K
Comments 21