Масштабные упражнения для практики

Я пытался найти в Интернете некоторые упражнения для отработки методов масштабирования (memchached, SQL Optimization, sharding dbs), но я смог найти только описания этих методов, а не какой-либо проект, на котором можно их опробовать.

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

Существует ли сайт такого типа для такого рода деятельности? Или, по крайней мере, некоторые упражнения (такие как загружаемый сайт ASP.NET/PHP с явными замедлениями, проблемами параллелизма, незначительными ошибками), чтобы люди могли попытаться научиться бороться с этой проблемой?

12.12.2008 11:51:56
3 ОТВЕТА

Может быть интересно взломать Wordpress. Их плагины для кэширования решают множество проблем масштабирования, но было бы здорово написать свой собственный плагин или взломать источник, чтобы сократить SQL-запросы или кэшировать статические страницы. Если вы что-то придумаете, обязательно сообщите об этом остальной части сообщества!

1
16.12.2008 02:22:06
Интересная идея, не думал о Wordpress до сих пор.
Manuel Ferreria 16.12.2008 13:08:34

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

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

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

Как только вы это сделаете, имеет смысл перейти к более конкретным улучшениям, таким как отдельный уровень статического контента memcached, разбиение БД, пакетные операции и так далее.

Что касается конкретных проектов для работы, как насчет клонирования Twitter , Flickr или The Pirate Bay . Все они имели проблемы с производительностью и масштабированием в прошлом.

1
26.12.2008 13:39:24

Я считаю, что у сайта High Scalability есть несколько хороших идей.

2
26.12.2008 13:43:17
Я помню, что видел этот сайт давным-давно, спасибо за напоминание.
Manuel Ferreria 26.12.2008 14:23:23