(#2) Как устроены крупные соц.сети изнутри. Часть 2 - разбор комментариев.

Nov 18, 2010 19:38

Это продолжение статьи http://spb-borodin.livejournal.com/596.html Ответы на многие поступившие вопросы. Рекомендую сначала прочитать первую часть.

Нужен ли мне это мастер-класс?

Есть два момента - сможете ли вы немедленно применить знания и будет ли он вам просто интересен.

Признаки, когда вы не сможете немедленно применить полученные знания, ( Read more... )

Leave a comment

spb_borodin November 19 2010, 23:30:35 UTC
Текучесть есть из-за некоторых кривонаписанных PECL модулей. Про утечки в чистом php не знаю, не видел... Вернее, чистого php не видел .-)

Часто нет утечек даже, если запустить цикл на 10 млн итераций и внутри создать/уничтожить пяток объектов, которые используют pecl модули. В 95% случаях это работает. В ~5% - нет. Разумеется, все объекты уничтожаются внутри итерации :)

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

Есть посерьезнее проблема, когда PHP в корку падает.

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

Когда на крупном проекте один сервер вылетает - этого не заметно. А вот если на десятках back-end'ах начинаются падения в корку (равномерно, везде, потихоньку), это сказывается на производительности и появляется куча неотданных клиенту страниц.

Reply


Leave a comment

Up