Это было бы черным пиаром на сайте korrespondent.net, а тут куча разработчиков, которые могу быть их клиентами, так что информация такого рода им более чем полезна!
Ну во-первых он был хардварным, во-вторых RAID5 уже работал, оптимизации проводились на готовом проекте, который в силу неприбыльности просто продолжали поддерживать на плаву и денег под него выбить было нереально.
Не думаю что тянет на отдельную статью:
кеширование производилось в RAM и отдельный винт (HDD), хранилище данных 4х1,5Tb RAID5
— картинки с возрастом не более недели в RAM, на несколько дней (точно не помню на сколько)
— видео с возрастом не более суток и размером не более 20Мб в RAM, ttl 12часов (свежак появлялся на главной и был самым востребуемым)
— видео которое смотрели несколько раз (>= 3) размером в HDD (часто всплывало
несвежее видео которое рассылается всему контакт листу какого-либо), ttl 12ч
— шейпинг скорости отдачи видео с RAID-массива на уровне 4Мбит, т.к. часто смотрели большое видео которое в кеш не попадало
Под кеш выделялось всего 2Gb оперативки, и 30Gb HDD.
Когда объем файлов на 2-3 порядка превышает максимально возможный объем оперативной памяти которую является возможным выделить под кеш, то задача эффективного кеширования уже не такая простая. Вероятность попадания в кеш в дефолтном режиме порядка 5%-10%, что не является сколь-либо приемлемым результатом, после некоторых оптимизаций(путём подбирания настроек) удалось поднять эту цифру до порядка 70-75%.
Контетном было порядка 80,000 видеофайлов общим размером ~3.5Тб + по 3 картинки на каждое.
Из-за особенностей nginx, он будет ждать пока скрипт выполнится и освободит воркер, т.е. если количество выполняемых php скриптов и воркеров nginx будет одинаковым, то все новые соединения будут становится в очередь и ждать освобождения воркеров. Поэтому mod_php использую для апача, FPM для nginx и lighttpd.
По-поводу сквида надо целую статью писать, но суть в том, что проски это основная его задача, поэтому он намного гибче в настройке чем nginx или lighttpd
Добавлю свою лепту…
— стоит избавится от апача вообще, настроить nginx через spawn-cgi, зачем лишние ресурсы тратить
— статику раздавать через другой порт, на котором будет висеть squid, как кеширующий прокси, у которого будет выделено несколько гигов оперативки под кеш мелких файлов (например до 15-20мб), при правильной настройке в кеше будут сидеть в основном превьюшки и самые популярные ролики, таким образом жестко уменьшаем соличество операций с диском
— ничего не было сказано про кеширование опкода, поэтому стоит проверить используется там какой-либо оптимизатор (в последнее время пользуюсь APC)
Нехорошо лезть в родительскую библиотеку.
Если все будут работать подобным образом, то что будет если десяток разных «плагинов» будет переопределять одни и те же функции?
4. Ну как бы всяческий системы стабилизации, трекшн контроля, каким именно образом работает не знаю, но работает. Если же в системе просто 4 электродвигателя, то ими управлять явно легче.
2. Ну с текущими технологиями проблем быть не должно
3. $2000 за ведущее колесо, которое будет также рекуперировать энергию не такая и большая цена, ведь двигатель тоже чего-то стоит, как и генераторы, масло и т.д.
4. Собственно дифференциалы сейчас управляются компьютером и я уверен, что ему будет сложно синхронизировать работу всех моторов, чтобы меньше изнашивать резину
То есть нельзя на по окружности диска разместить сильные магниты, а на ступице электромагниты, таки образом неподрессо́ренная масса не сильно возрастет, но зато будет самое настоящее мотор-колесо. Или я чего-то не понимаю?
Стабильнее значит, что на продакшене у него было более быстрое время ответа и он не «залипал» периодически, как это часто было с Apache и реже с nginx. Например, на статическом сервере, который отдавал «потоковое» видео (mp4 и flv) и скрины к нему, nginx через некоторое время начинал отдавать даже мелкие картинки (4-5кб) по 5-10, на лайти такого замечено не было.
Во-первых, настроить не так и сложно, есть куча мануалов.
Во-вторых, реврайт настроить не проблема — есть и mod_rewrite (который настроить не тяжелее, чем аналог из Apache) и mod_magnet для более тяжелых случаев. Более того автор пишет
если ваш сайт использует mod_rewrite, то реврайты тоже можно делать на Nginx, а .htaccess файлы просто выкинуть
В-третьих, есть достаточно много плюшек и для lighttpd.
P.S. repka.tv, аминь
размером до 50Мб
кеширование производилось в RAM и отдельный винт (HDD), хранилище данных 4х1,5Tb RAID5
— картинки с возрастом не более недели в RAM, на несколько дней (точно не помню на сколько)
— видео с возрастом не более суток и размером не более 20Мб в RAM, ttl 12часов (свежак появлялся на главной и был самым востребуемым)
— видео которое смотрели несколько раз (>= 3) размером в HDD (часто всплывало
несвежее видео которое рассылается всему контакт листу какого-либо), ttl 12ч
— шейпинг скорости отдачи видео с RAID-массива на уровне 4Мбит, т.к. часто смотрели большое видео которое в кеш не попадало
Под кеш выделялось всего 2Gb оперативки, и 30Gb HDD.
Контетном было порядка 80,000 видеофайлов общим размером ~3.5Тб + по 3 картинки на каждое.
— стоит избавится от апача вообще, настроить nginx через spawn-cgi, зачем лишние ресурсы тратить
— статику раздавать через другой порт, на котором будет висеть squid, как кеширующий прокси, у которого будет выделено несколько гигов оперативки под кеш мелких файлов (например до 15-20мб), при правильной настройке в кеше будут сидеть в основном превьюшки и самые популярные ролики, таким образом жестко уменьшаем соличество операций с диском
— ничего не было сказано про кеширование опкода, поэтому стоит проверить используется там какой-либо оптимизатор (в последнее время пользуюсь APC)
FF 3.6.12 ~ 661
FF 4 b7 ~ 700
Chrome 9.0.587 ~ 8863
Opera 10.63 ~ 426
Opera 11 b1 ~ 403
IE 8 ~ 2423
IE 9 ~ 1018
Если все будут работать подобным образом, то что будет если десяток разных «плагинов» будет переопределять одни и те же функции?
3. $2000 за ведущее колесо, которое будет также рекуперировать энергию не такая и большая цена, ведь двигатель тоже чего-то стоит, как и генераторы, масло и т.д.
4. Собственно дифференциалы сейчас управляются компьютером и я уверен, что ему будет сложно синхронизировать работу всех моторов, чтобы меньше изнашивать резину
Во-вторых, реврайт настроить не проблема — есть и mod_rewrite (который настроить не тяжелее, чем аналог из Apache) и mod_magnet для более тяжелых случаев. Более того автор пишет
В-третьих, есть достаточно много плюшек и для lighttpd.