Помогите разобраться с медленным ответом сервера

12
D
На сайте с 07.01.2013
Offline
90
915

Есть код, который вставлен в файл test.php на двух разных сайтах на одном хостинге

На первом сайте он выполняется больше 10 сек, на другом практически мгновенно.

Пробывал выполнять вручную в консоли php test.php выполняется мгновенно для первого сайта

Проблема не в самом коде php, а в сервере.

Помогите, куда копать апач один и тот же, настройки nginx и апача ничем не отличаются для двух сайтов.

По идее апач одинаково должен выполнять этот код, но такое не происходит...


<?php
$time_start = microtime(true);
require_once('wp-load.php');


wp_update_post( array( 'ID' => 322974, 'post_status' => 'publish' ) );
$time_end = microtime(true);
$execution_time = ($time_end - $time_start);
var_dump($execution_time);
?>
Приложение, нужное любому веб-мастеру (https://apps.apple.com/ru/app/%D0%BC%D0%BE%D0%B8-%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D1%8B/id1493164681)
IL
На сайте с 20.04.2007
Offline
435
#1

Попробуйте после

Dtachkov:
****require_once('wp-load.php');

ещё одну метку времени засечь

        $time_middle = microtime(true); 

А потом


echo "wp-load:" . ($time_middle - $time_start)."<br>";
echo "update post:" . ($time_end - $time_middle)."<br>";

И да.. попробуйте всё это выполнить в браузере в режиме инкогнито (без авторизации)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Anamnado
На сайте с 08.02.2010
Offline
242
#2

чо ее засекать

надо смотреть чо там

потому что оно и есть и больше тупо нечему !

а число страниц у сайтов одинаковое?

а то wp_update_post - штука может быть тонкая ( и ID' => 322974 это одно а D' => 2674 совсем другое (если что )

D
На сайте с 07.01.2013
Offline
90
#3
ivan-lev:
Попробуйте
ещё одну метку времени засечь

И да.. попробуйте всё это выполнить в браузере в режиме инкогнито (без авторизации)

Проблема в том, напрямую этот код выполняется мгновенно

Т..е. по ssh выполнить php test.php практически мгновенно выполнится и время будет где то полсекунды.

Естественно что число страниц у сайта разное, но дело не в запросе. Если бы дело было в SQL, То в логах медленных запросов был бы этот запрос...

S
На сайте с 30.09.2016
Offline
469
#4
Dtachkov:
Если бы дело было в SQL

Зачем рассуждать, если можно проверить?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
D
На сайте с 07.01.2013
Offline
90
#5
Sitealert:
Зачем рассуждать, если можно проверить?

Так я проверил, дело не в самом SQL запросе. Он выполняется быстро менее 1 секунды.

IL
На сайте с 20.04.2007
Offline
435
#6
Dtachkov:
Проблема в том, напрямую этот код выполняется мгновенно

Я читал первое сообщение.

А Вы попробовали осмысленно прочитать и сделать то, что написано в моём? ))

D
На сайте с 07.01.2013
Offline
90
#7
ivan-lev:
Я читал первое сообщение.
А Вы попробовали осмысленно прочитать и сделать то, что написано в моём? ))

Код сейчас выглядит так

<?php
$time_start = microtime(true);
require_once('wp-load.php');
//require_once($_SERVER['DOCUMENT_ROOT'] . 'wp-includes/wp-load.php');
//dividing with 60 will give the execution time in minutes otherwise seconds

wp_update_post( array( 'ID' => 322974, 'post_status' => 'publish' ) );
$time_end = microtime(true);
$execution_time = ($time_end - $time_start);
var_dump($execution_time);
?>

В ответе

float(0.50223898887634)

Сам запрос в режиме инкогнито выполняется также долго

Почему то в браузере появляется запрос на ftp авторизацию, см. картинку https://yadi.sk/i/h16KnuezBZn5-g, причем таких картинок несколько

lonelywoolf
На сайте с 23.12.2013
Offline
151
#8

Больше похоже на исчерпание лимитов апача на одновременное количество клиентов. Подключите mod_status и посмотрите разницу.

---------- Добавлено 13.05.2020 в 15:01 ----------

Dtachkov:
Почему то в браузере появляется запрос на ftp авторизацию

Прогоните айболитом на всякий случай.

Платный и бесплатный хостинг с защитой от DDoS (http://aquinas.su)
S
На сайте с 30.09.2016
Offline
469
#9
Dtachkov:
Код сейчас выглядит так

Это уже было в стартпосте. Зачем повторять?

Dtachkov:
На первом сайте он выполняется больше 10 сек, на другом практически мгновенно.
Dtachkov:
В ответе
float(0.50223898887634)

Это никак не тянет на 10 секунд.

Dtachkov:
Почему то в браузере появляется запрос на ftp авторизацию, см. картинку https://yadi.sk/i/h16KnuezBZn5-g, причем таких картинок несколько

Такое впечатление, что Вы что-то там у себя делаете, но сами не понимаете, что.

IL
На сайте с 20.04.2007
Offline
435
#10
Dtachkov:
Почему то в браузере появляется запрос на ftp авторизацию,

Обычно этот запрос означает невозможность обновить плагин (или файлы CMS) из-за ограничений доступа к файлам (не хватает разрешений на перезапись файлов).

Можно "вылечить", к примеру, заданием владельца и/или прав доступа к соответствующим файлам, или указанием FTP-доступа в конфиге https://wordpress.org/support/article/editing-wp-config-php/#wordpress-upgrade-constants

Не исключено, что ожидание (и не только в этом случае.. ) связано с тем, что вместо просто обновления поста система занимается проверкой обновлений, скачиванием файлов-плагинов и т.д.

Можно проверить, добавив

define( 'WP_AUTO_UPDATE_CORE', false );

в начало файла (до wp-load)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий