dil: (Default)
dil ([personal profile] dil) wrote2012-03-11 09:02 pm

Вы таки спрашиваете, за что я не люблю это ваше php?

А вот за что:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
20970 *****     25   0 93272 8624 4696 R 99.4  0.1   2661:05 php

В данном случае виноваты не те программисты, которые написали скрипт, а те, которые написали сам PHP. Чтобы в 21 веке сожрать почти 100% процессора на ожидании данных из сокета — это надо было очень постараться. Но у них получилось:

if (curlstream->readbuffer.writepos == 0) {
while (CURLM_CALL_MULTI_PERFORM == curl_multi_perform(curlstream->multi, &curlstream->pending));
}

Ну и мало ли, что там в инструкции к этому curl_multi_perform() написано. Какой-такой select()? Будем читать, пока не прочтётся!

Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.

[identity profile] spb-nick.livejournal.com 2012-03-15 12:49 pm (UTC)(link)
Т.е. это баг libcurl? Может PHP неправильно настраивает ее? Хотя, у меня уже был с ней негативный опыт.