November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Sunday, March 11th, 2012 09:02 pm

А вот за что:

  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 в любой форме и любом объёме.