LINUX.ORG.RU

Сообщения Dart_Sitius

 

nginx + php-fpm + mariadb выдает только половину ответа

Форум — Admin

Есть довольно высоконагруженный сервер (по нескольку запросов в секунду), в основном запросы идут на один скрипт. Он выполняет некоторую работу, после этого такой код:

$res = $mysqli->query("SELECT `f1`, `f2` FROM `tbl` WHERE ... LIMIT 500");
if (!$res) {echo "query error: (". $mysqli->errno . ") ".$mysqli->error."\n";}
echo "<table>";
if ($res) {
	while ($row = $res->fetch_assoc()) {
		echo "<tr><td>{$row["f1"]}</td><td>{$row["f2"]}</td></tr>";
	}
	$res->free();
}
echo "</table>";
и периодически, 1 запрос из 20-30 сервер в ответ выдает кусок полного ответа, каждый раз разной длины, такого вида:
<table>
<tr><td>1</td><td>2</td></tr>
<tr><td>1</td><td>2</td></tr>
<tr><td>1</td><td>
или вообще
<table>
<tr><td>1</td><td>2</td></tr>
<tr><td>1</td
самое забавное, что /var/log/nginx/error.log при этом не содержит данных об этой ошибке, /var/log/php-fpm.log тоже. как такое может быть в принципе? создается ощущение, что здесь либо тонкая сисадминская ошибка (где-то срабатывает какой-то лимит, и текущее соединение просто режется), или виноват хостер

могу выложить conf файлы nginx и php-fpm. P.S.: еще один странный факт. я отслеживаю время выполнения запросов, обычное время выполнения 0.03 секунды. так же пару раз в 20-30 запросов оно скачет до 0.2, а раз в 200-500 запросов до 1 секунды. но это ничего страшного. а странность в том, что с 09:00 до 10:30 утра каждый день несколько запросов выполняются по 10, 15, а то и 60 секунд. в остальное время суток 1с максимум. опять же - как обьяснить именно это время? в cron на него ничего не поставлено. хостер?

 , ,

Dart_Sitius
()

RSS подписка на новые темы