-Поиск по дневнику

Поиск сообщений в golotyuk

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 18.11.2009
Записей: 71
Комментариев: 0
Написано: 70





Масштабирование и производительность - еще раз о главном

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

scalability


Мы не раз обсуждали вопросы производительности и масштабирования систем (этому и посвящен этот блог). Тем не менее, иногда очень полезно возвращаться к истоку этих понятий. Это важно для понимания их сути, а следовательно и для того, чтобы принимать правильные решения в нужные моменты времени.


Зачастую эти два понятия тесно связаны, но представляют собой два абсолютно разных свойства системы:



  • Производительность - способность системы выполнять операцию за определенное допустимое время (другими словами, достаточно быстро)

  • Масштабируемость - способность системы справляться с увеличивающимися нагрузками (обычно - путем наращивания аппаратных ресурсов)


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Дельта индекс в Sphinx

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

sphinx


Spinx отлично зарекомендовал себя, как движок полнотекстового поиска. Он обладает отличными показателями производительности и вместе с этим является функционально мощным инструментом. Sphinx прекрасно справляется с большими объемами данных при поиске.


Но есть и другая, более медленная операция, с которой приходится сталкиваться - построение индекса. На малых объемах обычно используют перестройку всего индекса, которая занимает не много времени. В случае же большого количества данных индексирование может стать очень медленным процессом (время полной переиндексации в некторых системах достигает дней и недель). В этом случае результаты поиска будут обладать малой временной актуальностью.


Одним из решений подобной проблемы является использование дельта индекса, о чем мы поговорим в этой статье.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Оптимизация картинок для Web

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

z-car-hdr

Во многих случаях общий размер картинок, которые грузятся на стринце составляет 50% (и более) от веса всех компонент страницы. Это следует учитывать при клиентской оптимизации, т.к. картинки могут стать бутылочным горлышком Вашей системы. Необходимо обдумывать использование каждого графического элемента на странице. Тем не менее, есть ряд практик и советов, которые позволяют ускорить загрузку изображений.

Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Нагрузочное тестирование сайтов с помощью Curl Loader

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

Зачастую (скорее всегда) на этапе разработки невозможно предугадать узкие места системы. Это во многом связано с неточностью прогнозируемых нагрузок и их пиков в разрезе конкретных модулей системы. Даже если Вы следуете всем основным принципам разработки высоконагруженных систем, у Вас скорее всего будут проблемы со специфическими подсистемами при росте нагрузок. Заранее определить такие места и приготовить стратегию масштабирования поможет нагрузочное тестирование.


Для нагрузочного тестирования существует ряд инструментов и сегодня мы рассмотрим один из них - простой и мощный Curl Loader.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Pylot - утилита для нагрузочного тестирования

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

Pylot logo


Pylot - opensource инструмент для нагрузочного тестирования Web систем. Он имеет большой набор фукнциональных преимуществ, к тому же открытый исходный код позволяет доработать его под конкретные нужды.


Pylot генерирует параллельные запросы к серверу, проверяет ответы от сервера и генерирует отчеты (в том числе и графические) с рядом метрик. Для создания тестов используется язык XML, что позволяет добится большой гибкости учитывая всю простоту описания логики.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Оптимизация клиентской части с Google Page Speed

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

google_logo


В статье Оптимизация клиентской части был рассмотрен ряд практик по улучшению клиентской производительности Web приложений. На практике весьма сложно контролировать выполнение всех рекомендаций, но этого и не требуется, т.к. существуют специальные инструменты, которые сами проведут нужные тесты, покажут статистику и подберут советы.


Page Speed - инструмент от Google для анализа производительности клиентской части Web приложений. Это бесплатная утилита, которая представляет собой плагин к Firefox/Firebug. Помимо обширной аналитической информации, Google Page Speed предоставляет еще и уместные советы по оптимизации узких мест анализируемых страниц.


Как выглядит и что может дать этот инструмент на практике.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Масштабируемость и производительность… Первые вопросы

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

words

Создано на wordle


Эта картинка обычно отражает мысли человека, перед которым стоят два факта:



  1. Система растет

  2. Производительность падает



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


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Оптимизация производительности Apache

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

apache_serverApache - популярный веб-сервер в интернет, он обслуживает множество серверов и сайтов. Часто возникает необходимость увеличить производительность веб-сервера. Наверное лучший способ это сделать - перейти к схеме frontend+backend, но это может потребовать достаточно серьезных изменений в приложении (например, у вас наверняка отвалятся всяческие индикаторы прогресса аплоада файлов :).


Другой способ - просто увеличить производительность сервера - поставить более быстрый процессор и больше памяти.


Однако и первое и второе требует много времени и ресурсов, так что на первое время можно попробовать ускорить apache путем оптимизации его конфигурации. Существуют оптимизации, которые можно применить только при пересборке apache, другие же можно применять без перекомпиляции сервера.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Оптимизация постраничного вывода в MySQL

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения


SELECT * FROM articles ORDER BY id LIMIT 20000, 20



Что приходит Вам на ум, когда Вы видите такой код? Да, это реализация постраничного вывода на уровне SQL. А еще это выбор результатов для отображения 1000-й страницы.


И Вы сталкиваетесь с тем, что этот запрос работает очень быстро для выборки первых страниц, и невероятно медленно для последних. Почему и как это исправить? Рассмотрим пример для MySQL, хотя описанные принципы применимы для любой СУБД.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Очередь сообщений на основе PHP и MemcacheQ

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения


В предыдущей статье мы рассмотрели принцип работы систем очередей сообщений.

В этой статье мы рассотрим пример реализации такого решения на основе PHP и системы MemcacheQ. В качестве приложения выберем распространенную задачу по отправке email сообщений.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Правила кеширования

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

Кеширование


Кеширование - это один из способов оптимизации приложений (улучшение производительности, масштабирование и т.д.). Кешировать можно практически все - результаты выборок из СУБД, данные от внешних сервисов, статические данные (например, картинки), HTML (если страницы не интерактивные)&


В этой статье мы поговорим о кешировании на уровне приложения. Обычно, наиболее узким местом в приложении является СУБД (как правило, она еще и реляционная). Ранее мы писали о масштабировании и оптимизации СУБД. Теперь поговорим о кешировании и о том, когда и как его следует использовать.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Percona запускает скринкасты

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

percona_logo


Компания Percona, занимающаяся консультированием по вопросам производительности и масштабирования объявила о запуске нового проекта - Percona.tv. Этот сайт будет наполняться полезными скринкастами, видео с коференций и просто полезными роликами на темы, касающиеся СУБД и не только.



Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Тюнинг FreeBSD 7 под высокие нагрузки

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

freebsd


В этой статье представлена презентация Игоря Сысоева на тему тюнинга ОС FreeBSD 7 под высоконагруженный Web сервер. Он подробно рассказывает о тонкой настройке Web сервера под управлением freebsd. Каждый системный параметр детально описывается и докладчик предлагает рекомендуемые его значения. Must see.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Как выбрать колонки для индексирования в MySQL

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

mysql_logo


Как мы выбираем, по каким колонкам в MySQL строить индексы? Иногда не все так очевидно, как кажется. Эффективность того или иного индекса зачастую зависит от распределения данных в таблице. Правильный, на первый взгляд, индекс может работать крайне не эффективно в зависимости от специфики и частоты данных.


Как это можно выяснить? Простой и очень интересный пример взят с блога mysqlPerformanceBlog. Этот способ анализа индексов применим не только к MySQL, а и к другим СУБД.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Gzip или deflate?

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

Сжатие Gzip и Deflate


В одной из предыдущих статей о клиентской оптимизации было упомянуто, что стоит сжимать контент при отдаче его браузеру. Это минимизирует трафик и ускоряет загрузку данных у клиента.


Существуют два стандартных метода сжатия контента Web серверами - Gzip и Deflate. В чем же разница и какой из них выбрать?


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

PHP - рецепты и настройка под большие нагрузки

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

php


PHP, на сегодняшний день, это одна из самых популярных платформ для создания Web приложений. Нет смысла в очередной раз упоминать о многочисленных монстрах современного интернет, основой которых служит PHP.


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


В этой статье мы рассмотрим общие практики и советы при построении нагруженных систем на основе PHP.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Оптимизация клиентской части

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

Клиентская оптимизация


Что такое скорость загрузки Web страницы? Это время, за которое пользователь получает полностью загруженную страницу.


От чего зависит это время? От того, насколько долго запрос пользователя обрабатывается на сервере. Но не только.


Сегодня типичная Web страница - это несколько десятков картинок, парочка CSS файлов, до десятка JavaScript файлов и HTML размером в 50&100 Кб. И для загрузки каждого из этих компонент браузер посылает на сервер отдельный запрос.


Ясно, что загрузка одной только странички, сгенерированной на серверной части (на Вашем PHP, Python, ASP и т.п.) займет малую часть времени. Большинство времени и ресурсов отнимет загрузка всех остальных компонент страницы.


Клиентская оптимизация призвана уменьшить время полной загрузки страницы.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

PgFouine - профилирование в postgres

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

С ситуацией, когда СУБД работает медленно, сталкиваются многие разработчики. И это относится не только к высоконагруженным системам. Как обычно себя ведут разработчики? Начинают оптимизировать запросы, вслепую. В итоге эта работа приносит вовсе не ощутимый результат, либо ускоряются только отдельные части приложения, но проблемы остаются в других местах.


Для того, что-бы провести оптимизацию запросов качественно, необходимо использовать системы профилирования, которые могут явно показать проблемные места. С профилирования и нужно начинать оптимизацию. В этой статье мы рассмотрим пример системы профилирования запросов для СУБД Postgres, которая называется PgFouine.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Построение отказоустойчивого балансировщика нагрузки на базе Perlbal/Heartbeat

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

 В этой статье описывается процесс настройки отказоустойчивого двухузлового балансировщика нагрузки с активной/пассивной конфигурацией, поддержкой сессий и механизма Failover на базе Perlbal/Heartbeat под управлением Debian. Балансировщик работает между конечным пользователем и двумя backend-серверами, которые отдают некий контент. (В нашем примере это два сервера с установленным Apache). Балансировщик не только проксирует запросы к бэкэнду, он еще и проверяет состояние бэкэнда и, в случае отказа, перенаправляет запросы к другому серверу (failover). Вдобавок, ведется постоянный мониторинг бэкэнд-серверов при помощи Heartbeat и, если master-сервер “лежит”, то slave автоматически становится мастером. Ваши пользователи не заметят сбоев в работе сервиса. 


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP

Шардинг, партиционирование, репликация - зачем и когда?

Среда, 18 Ноября 2009 г. 04:21 + в цитатник
Оригинал сообщения

Многие разработчики крупных (что весьма относительно) проектов приходят к выводу о том, что один единственный сервер базы данных никак не сможет справится с нагрузками. Это может быть как на этапе проектирования, так и на этапе роста - не важно. Вопрос в том, какую стратегию выбирать, если Вы уверены, что столкнетесь с такой ситуацией!


Если Ваш заказчик готов купить супер сервер за несколько миллионов долларов (а по мере роста - десятков миллионов и т.д.), что-бы сэкономить время, но сделать все быстро, можете дальше эту статью не читать :). Эта ситуация покажется Вам маловероятной, так и есть. Что выбирать, на основе чего основывать свой выбор и когда выбирать - это вопросы мы рассмотрим в рамках статьи.


Читать далее...

Я сейчас нахожусь: Киев
Мой настрой: Супер
Я слушаю: Все подряд

LIci WP


Поиск сообщений в golotyuk
Страницы: 4 3 [2] 1 Календарь