[Из песочницы] memcached не нужен
2012-07-06 14:42:04
Делаю полностью статичный сайт. На самом деле, php выполняет роль бэкенда: если html файла нет, то ...
+ развернуть текст сохранённая копия
Делаю полностью статичный сайт. На самом деле, php выполняет роль бэкенда: если html файла нет, то сгенерировать его и положить в кэш, а далее nginx отдает html файл из кэша сразу, не трогая php вообще.
Сайт должен получиться огромным. Покрайней мере, я сразу стараюсь делать из расчета на высокую нагрузку. И на данный момент, когда php выполняется лишь единожды для генерации страницы, теперь самое узкое место — это отдача уже готовых статичных html файлов.
Следует знать, что при обращении к файлу он помещается в кэш в оперативной памяти ядром системы, и поэтому, как многие думают, заранее хранить статику в каком-нибудь tmpfs нет смысла, совсем. memcached же именно это и делает, и по какой-то причине все его нахваливают, и особенно любят использовать для кэширования html страниц.
Я убедился в обратном и хочу поделиться с вами, что хранить кэш html страниц в memcached не стоит, и какая есть ему лучшая альтернатива. Читать дальше →
Тэги:
highload,
memcached,
nginx,
php,
веб-разработка
[Из песочницы] OPTIMIZE огромных таблиц в условиях ограниченных ресурсов или закат солнца вручную
2012-04-23 12:58:51
Хабы: Веб-разработка, MySQL
Предыстория
Есть проект, в рамках которого ...
+ развернуть текст сохранённая копия
Хабы: Веб-разработка, MySQL
Предыстория
Есть проект, в рамках которого приходится работать с большим объем данных. В частности есть одна денормализованная таблица, в которой хранятся все актуальные предложения существующих клиентов, а также устаревшие предложения, помеченные is_deleted = 1, ожидающие удаления.
Количество записей в данной таблице до недавнего времени колебалось от 30 до 50 миллионов. Обычный OPTIMIZE даже при таких условиях не всегда срабатывал. Поэтому отец-основатель (Евгений Васильевич aka haron) придумал пересобирать таблицу таким образом: все актуальные (is_deleted = 0) копировались в таблицу с идентичной структурой с добавлением префикса по дате и времени, а когда копирование завершалось, оставалось только удалить исходную таблицу, а новую переименовать в исходную.
Такой подход работал надежно, пока не потребовалось повысить скорость поиска предложений. И тут начинается наша небольшая история. Читать дальше →
Тэги:
highload,
mysql,
веб-разработка
[HighLoad] Алексей Рыбак: мастер-класс — Основы построения масштабируемых высоконагруженных веб-проектов 10 июня 2012
2012-04-11 13:05:40
Хабы: Высокая производительность, Веб-разработка, Блог компании DevConf
+ развернуть текст сохранённая копия
Хабы: Высокая производительность, Веб-разработка, Блог компании DevConf
Интервью с ведущим МК на DevConf2012 — Алексеем Рыбаком (Badoo.com)
devconf.ru/offers/31
Это мой хобби-проект где-то с 2006 года, и я постоянно его дополняю.
Это крайне интересный опыт, он сильно отличается от того, что я приобретаю на работе, поэтому буду читать до тех пор, пока не надоест.
Только-только устоялись базовые подходы к разработке масштабируемых приложений, ещё каких-то 10 лет назад нашей отрасли вообще толком не существовало! Мы по-прежнему далеки от каких-то сред разработки или фреймворков, которые дали бы нам все необходимые решения из коробки. Начинает появляться некоторое количество технологий и инструментов, которые продвигаются именно как универсальное решение проблем масштабирования.
Читать дальше →
Тэги:
devconf,
highload,
php,
блог,
веб-разработка,
высокий,
компания,
производительность
Построение отказоустойчивого хранилища данных, часть 1
2012-04-08 10:02:56
Давно не писал, и вот решился — встречайте, статья посвящена настройке отказоустойчивого iscsi ...
+ развернуть текст сохранённая копия
Давно не писал, и вот решился — встречайте, статья посвящена настройке отказоустойчивого iscsi хранилища. В первой части я расскажу теорию, во второй части будет практика с конфигами и граблями. Перво-наперво необходимо разобраться что мы хотим получить, в моем случае необходимо было … Читать далее →
Тэги:
highload,
linux,
администрирование
Go for IT. Часть первая
2012-04-05 00:23:28
Хабы: Высокая производительность, Веб-разработка, Go
Неуловимый Go.
Помните ...
+ развернуть текст сохранённая копия
Хабы: Высокая производительность, Веб-разработка, Go
Неуловимый Go.
Помните анекдот про неуловимого Джо? Именно восклицанием «Да кому он нужен!», прозвучавшим в форме вопроса "ЗАЧЕМ?", был встречен на Хабре релиз первой стабильной версии GO 1.
Именно на этот вопрос я хочу ответить циклом статей, оформленных в необычном для Хабра формате — в виде пошаговой совместной разработки действующего веб-проекта — с живым обсуждением и добавлением функционала. А чтобы вдвойне оправдать внесение цикла ещё и в хаб «Высокая производительность», мы поставим перед собой задачу создать не просто «хомяка», а проект, который наглядно продемонстрирует habri et orbi способность выдерживать значительные естественные нагрузки.
Вместо аперитива: реализация простейшего динамического веб-приложения на языке Go работает в 5-20 раз быстрее аналогичной Python-реализации. И всего в два раза уступает скорости отдачи статики Nginx-ом.
В рамках этого проекта, помимо самого языка Go, мы косвенно затронем и другие (относительно новые) технологии веб-разработки — HTML5, CSS3, Redis, MongoDB. Также я постараюсь вытащить из закутков долговременной памяти некоторые из трюков в области безопасности и экономии на спичках, коих накопилось много за полтора десятка лет работы в этой области. Устраивайтесь поудобнее, запасайтесь терпением и кофе — под катом «много букв», а ведь это только вводная часть :)
Читать дальше →
Тэги:
golang,
highload,
веб-разработка,
высокий,
производительность
Страницы:
... 21 22 23 24 25 26 27