Оценка на сколько можно сократить число серверов Facebook, переписав PHP скрипты на C++

Используя недавно опубликованные данные об инфраструктуре сети Facebook, создатели инструментария для web-разработки Wt, пришли к выводу, что если переписать код PHP скриптов Facebook на языке C++, то число серверов обслуживающих проект уменьшилось бы с 30 тыс. до 7.5 тыс. Выключение 22.5 тыс. серверов за счет экономии электроэнергии позволило бы избежать выброса в атмосферу 49 тысяч тонн углекислого газа.

Представленные в статье выводы достаточно поверхностны и сделаны с расчетом, что язык С++ является в 10 раз более эффективным, чем PHP. При оценке не учтено то, что наиболее требовательные к производительности компоненты Facebook и так переписаны на С++, PHP используется как правило только на стороне фронтэнда, при этом все что можно кэшируется в памяти. Также не учтено то, что большая нагрузка в Facebook приходится на систему ввода/вывода, так как в трафике большую долю занимают изображения. Основным же узким местом, несмотря на кэширвоание, по прежнему остается не PHP, а СУБД MySQL, именно на этапе обращений к СУБД возникают основные задержки, а не при выполнении силами PHP функций по агрегированию данных и компоновке web-страниц. Facebook serves 600k photos/second –> serving them is more difficult than storing them. Cache them in memory. Back-end services that require the performance are implemente in C++.

Полный текст статьи читайте на OpenNet