Несколько месяцев у меня был такой вопрос тому назад. Теперь, чтобы изолировать проблему, я попробовал новый подход. Я кладу на свой сервер пустой файл.
Имя файла - «foobar.php». Его содержание следующее:
<?php
echo "hello world";
Но когда я пытаюсь войти на example.com/foobar.php, я получаю
DNS 203 миллисекунды
Подключиться 3,33 секунды
Отправлено 0 миллисекунд
Время до первого байта 17,35 секунды
Получено 1 миллисекунды Общее время загрузки 20,88 секунды
Затем я помещаю другой файл под названием «foobar.txt». Его содержание следующее:
hello world<br/>
Время загрузки foobar.txt составляет примерно 0,2 секунды.
Этот веб-сайт находится на общем хостинге, поэтому я не могу получить root-доступ к Linux. Я пытаюсь выяснить, что замедляет работу моего сайта.
- Когда я получаю эти результаты, у меня на сайте 60 посетителей. И они отправляют запросы AJAX, когда они активны. Когда они активны, они отправляют запрос AJAX почти каждые 3 секунды.
- Обычно на моем сайте 5-20 запросов в секунду.
- Мой хостинг-провайдер говорит, что перегрузки процессора не происходит, в целом она очень низкая.
- Я спросил хостинговую компанию об ограничениях Apache. Я получаю эти значения для всего разделяемого сервера:
MaxClients 300
MaxRequestsPerChild 4000
ThreadsPerChild 25
- Страницы example.com/mybigpage.php и example.com/foobar.php открываются почти одновременно.
- Если на странице есть txt, jpeg или другие расширения, они открываются мгновенно. Если расширение - php, оно открывается очень медленно.
- CakePHP хранит файлы сессий в папке «/ httpdocs / app / tmp / sessions». Файлы сеанса удаляются через два часа после создания. Теперь в этой папке 3653 файла. Самый старый файл создан 2,5 часа назад.
- В моей конфигурации обработчик PHP - это модуль Apache mod_php
Новое редактирование. Я разговаривал со своей хостинговой компанией. И сказал им, что «foobar.php» открывается почти за 20 секунд. Хотя в этом файле вообще нет кода. Они сказали мне, что помещают "foobar.php" на другие веб-сайты, которые мы используем на том же сервере. Я также попробовал "othersite.com/foobar.php". Он открылся мгновенно. Но «mysite.com/foobar.php» открылся почти за 15 секунд. Что могло бы вызвать такое поведение? Мы используем ту же конфигурацию PHP с другими сайтами, но они открываются мгновенно .. Может это из-за моих правил .htaccess? Или другое?
Новый Edit2: мой провайдер сказал мне, что на сервере не существует файла "apd.so". Похоже, я не могу использовать APD.
Что мне следует искать, чтобы найти узкое место?
Что может ограничить мой сайт?
Дополнительные данные: из phpinfo я получаю следующее:
'./configure' '--prefix = / usr / local / lsws / lsphp5' '--build = x86_64-redhat-linux-gnu' '--host = x86_64-redhat-linux-gnu' '--target = x86_64-redhat-linux-gnu '' --sysconfdir = / etc '' --datadir = / usr / share '' --includedir = / usr / include '' --libdir = / usr / lib64 '' --libexecdir = / usr / libexec '' --localstatedir = / var '' --sharedstatedir = / usr / com '' --mandir = / usr / share / man '' --infodir = / usr / share / info '' - -cache-file = .. / config.cache '' --with-libdir = lib64 '' --with-config-file-path = / etc '' --with-config-file-scan-dir = / etc /php.dd '' --disable-debug '' --with-pic '' --disable-rpath '' --without-pear '' --with-bz2 '' --with-curl '' - with-exec-dir = / usr / bin '' --with-freetype-dir = / usr '' --with-png-dir = / usr '' --without-gdbm '' --with-gettext '' --with-gmp '' --with-iconv '' --with-jpeg-dir = / usr '' --with-openssl '' --with-libexpat-dir = / usr / lib64 '' --with -pcre-regex = / usr '' --with-zlib '' --with-layout = GNU '' --enable-exif '' --enable-ftp '' --enable-magic-quotes '' - включить-сокеты '' --enable-sysvsem '' --enabl e-sysvshm '' --enable-sysvmsg '' --enable-wddx '' --with-kerberos '' --enable-ucd-snmp-hack '' --with-unixODBC = shared, / usr '' - -enable-shmop '' --enable-calendar '' --with-libxml-dir = / usr '' --with-mysql '' --with-mysqli '' --with-gd '' --enable- dom '' --disable-dba '' --without-unixODBC '' --enable-xmlreader '' --enable-xmlwriter '' --with-mcrypt '' --enable-mbstring '' --with-litespeed '' --enable-soap '' --with-xsl '' --with-pdo-mysql '' --with-pdo-sqlite '' --enable-sqlite-utf8 '' --with-pspell '' --with-sqlite = shared '' --with-xmlrpc '' --with-mhash '' --enable-pdo '' --with-imap '' --with-imap-ssl '' --without- suhosin '' --with-tidy '' --enable-zip '' --enable-inline-optimisation '' --enable-gd-native-ttf '' --enable-bcmath '
print_r(get_included_files());
в свой пустой файл php - если вы не загружаете пустой файл - он сообщит вам, какие файлы вы загрузили первыми. если у вас нетapp/webroot/
в качестве корневого каталога документов вашего домена - вы должны учитывать любые добавленные вами правила mod_rewrite. - person AD7six   schedule 29.12.2012