AjaXplorer [написанный на PHP] слишком медленный на IIS - PullRequest
0 голосов
/ 14 июня 2010

Я установил AjaXplorer (очень хороший проводник веб-файлов), написанный на PHP, на мой IIS (Windows Server 2008 SP2 x64).Это работает слишком медленно для меня.

В чем может быть причина?Есть ли какие-то настройки в php.ini?Или, может быть, что-то не так с IIS?

Я использую 32-битный PHP, php-cgi.exe в качестве интерпретатора.

С уважением,

1 Ответ

1 голос
/ 14 июня 2010

Прежде всего, CGI всегда будет медленным.Он должен загружать всю среду выполнения PHP для каждого запроса.Попробуйте использовать FastCGI ( Если вы используете IIS 7 или , если вы используете IIS 6 ) ...

После этого попробуйте понять, почему этомедленный.Это потому, что выполнение сценария PHP занимает много времени (это означает, что это проблема кода), или это из-за конфигурации сервера.Чтобы проверить, измените это в начало точки входа программы PHP (index.php):

define(START_TIME_CUSTOM, microtime(true));
function onEndTimeCompute() {
    $timeTaken = microtime(true) - START_TIME_CUSTOM;
    echo "Completed In: ".number_format($timeTaken, 4)." Seconds\n";
}
register_shutdown_function('onEndTimeCompute');

, которая записывает Completed in n Seconds в конец сгенерированного вывода (даже если die()называется).Это может вызвать некоторые проблемы, если ожидается, что вызовы Ajax будут возвращать JSON, поэтому не делайте этого как правило, просто для того, чтобы выяснить, что происходит.

Итак, если общий запрос занимает 1 секунду,все же вы видите Completed in 0.004 Seconds, вы знаете, что сам код PHP не является проблемой (это либо в настройке интерпретатора с помощью CGI, либо где-то еще в IIS) ...

Это должно по крайней мере показатьВы, где проблема ...

...