HraKK
Я об этом докладывал на мастер-классе, как раз на примере, как грамотно закешировать главную страницу, применяя классы MemcacheLock + Cache (они позволяют снизить число строк кода до мизера), на что получил упрек: "зачем такие советы, я лучше воспользуюсь nginx модулем"
Потом в конце уже был более расширенный пример, включая проблемы А, Б, В, Г (минут на 40). Статьи писать боюсь - набегут чайники, затроллят до смерти. Я еще из этой темы не ушел - уже пипец наступил .-)
флоппик
> ты впадаешь в другую крайность
Стараюсь не впадать. Ты думаешь, я не понимаю, что не у всех есть миллионы юзеров в сутки? 80% информации, что я рассказал, касаются новых паттернов оперирования данными, которые НУЖНО применять даже в мелких проектах. Ты читал, что я писал выше? Типичному программисту, который сделал "наикрутейшую оптимизацию" в пункте А, в голову не придет, что тем самым он наплодил себе БАГОВ. Либо не делайте вообще кеширования - будет медленно, но без багов, либо делайте - но с умом и с минимумом кода. Ну, причем тут размер проекта? Да, в мелком проекте эти баги будут редкими (смотря, что за объект и частота использования). Но это все равно что писать/читать данные из файла, не блокируя его, что ты и советуешь делать. Да, в 99,99% хитах все будет окей. Но раз в неделю будут происходить загадочные зависания или потеря данных. В крупном проекте этот баг вылезет мгновенно и проект рухнет за 2 минуты
MiksIr
> иногда следует остановиться и задуматься - может тебя не "троллят", а намекают, что тебя несет?
1. К сожалению, троллят только профаны. Профессионалов в теме знаю только человек 10, к чьему мнению я бы прислушался. Ну, расскажи же, что ты интересного сделал, чем ты можешь поделиться с народом и т.д.
2. Я не пытаюсь никого учить. Это типичное хамство от профанов (некоторые еще в велосипедосроении обвиняют), которые ничего не умеют, но хотели бы заявить. В данной теме я указал на недопустимость поверхностного подхода к этой задаче. Если бы ты промолчал, я бы не пошел к тебе с советами. Написал глупость - вот и ответ. В чем проблема?
3. Нравится профанам или не нравится, но других публичных решений нет. Я просто излагаю то, что:
а) уже реально работает лично у меня
б) как устроены другие КРУПНЫЕ проекты, в 50 раз больше (сведений, что там что-то по другому, ни у кого нет, вернее, у большинства вообще никаких сведений нет).
4. Хоть ты тресни, но ничего не сделаешь против этих моих железных аргументов. Если кто-то из создателей крупных проектов публично обрисует другую картину, то я
а) узнаю для себя ценнейшую информацию и скорректирую свою точку зрения
б) смогу новые компоненты своего проекта реализовать по новому.
Жаль только, что этого не будет.
5. Тема начата про узкий момент - как закешировать что-то, снизив нагрузку. Может пора прекратить троллинг по всевозможно широким темам?
О да, про апач я страшнейше облажался! =) Просто апач - это ругательное слово, не ждал, что его кто-то будет употреблять.
Про черный ящик. Ты хочешь это обсудить? Я часто слышу, что многие собираются делать масштабирование за счет готового хранилища, а не собственной головы. Считаю это большой глупостью.
Активист
1. Наши сервера не имеют 32 гигов. Только 6.
2. Наши сервера имеют дебильно медленные жесткие диски. Обычные юзерские sata винчи, которые еще и сыпятся регулярно. Про рейд даже не заикайтесь .-)
3. Если взять фейсбук или контакт, то их 1 сервер держит примерно 10.000 уников в сутки. У нас 1 сервер держит 12.500 юзеров.
4. Нашему проекту менее полугода. Еще не успели оптимизировать или устаканить все, в отличии от старых проектов.
Короче, сервера - полное говно. Зато они нам обходятся бесплатно и в почти любом нужном количестве. На некотором этапе роста придется переезжать на приличные сервера, за свои деньги.
> Что есть на PHP реквист - это - каждый раз загрузить интерпритатор, далее подключить файлы, далее - скомпилировать,
> далее.... , далее загрузить из БД данные, обработать и в конце - умереть.. Не слишком ли жирно и не гуманно?
Под nginx есть замечательные модули. Например nginx может сам, без пхп:
1) принять постом от юзера некие данные и кинуть в очередь на обработку
2) выдать json ответом некий ключ из мемекеша, где заранее заботливо сложен юзерский объект (к вопросу о кешировании, кстати).
С помощью этого паттерна можно сделать уйму веб-функционала без пхп.
Можно еще демонов на пхп писать... только не кидайтесь рвотными пакетиками за такие костыли
У нас демонов пока нет, хотя подумываем. Наши псевдодемоны - это кластер крон-серверов, в реалтайме обрабатывающий 70% нагрузки.