|
|
|
| ребят реально уже незнаю, сперва долбал хостингу мозги, затем понял чт опроблема все же в коде или еще чем то
вообщем суть дела такова
лазишь по сайту, то ли статью добавляешь то ли еще чтонибудь и загрузка страницы тупо виснет, и длительное время сайт в браузере не загружается а потом бац и ошибка 503 вроде бы
на другом браузере сайт грузиться в этот момент.
что делать, в чем может быть проблемы?
сайт написан на пхп, в ручную.
очень много страниц на сайте, в базе более 3 тысяч статей, куча тегов и т.д. | |
|
|
|
|
|
|
|
для: TavRoX
(15.02.2013 в 12:58)
| | если 503 ошибка, то дело точно не в браузере. | |
|
|
|
|
|
|
|
для: psychomc
(15.02.2013 в 13:14)
| | прикол в том что бывает и в мазиле и в хроме.
понять только немоу из-за чего,
страница типа грузится грузится а потом бац и ошибка | |
|
|
|
|
|
|
|
для: TavRoX
(15.02.2013 в 13:20)
| | ошибка 503 говорит о нехватке ресурсов
ищите, что может их поедать))) | |
|
|
|
|
|
|
|
для: Slo_Nik
(15.02.2013 в 13:26)
| | ну незнаю каких там ресурсов кому не хватает) но комп мощный, со стороны сервака тоже вроде бы проблем нет, сайт если в одном браузере падает в другом работает | |
|
|
|
|
|
|
|
для: TavRoX
(15.02.2013 в 13:30)
| | да причем тут ваш комп? дело только в серваке на котором крутится сайт. а вот в самом серваке, или в вашем сайте который на этом серваке, это уже другой вопрос... | |
|
|
|
|
|
|
|
для: TavRoX
(15.02.2013 в 13:30)
| | проблема в коде. Я думаю, что 1 ваш браузер просто дожидается ответа очень долго без пакетов с сервера, другой же браузер не так терпелив =\ | |
|
|
|
|
|
|
|
для: CrazyAngel
(15.02.2013 в 14:04)
| | сам прикол что я как будто положил сервак, и все отменяю загрузку страницы пробую другую а оно висит.. | |
|
|
|
|
|
|
|
|
для: psychomc
(15.02.2013 в 14:05)
| | ребят ест ьподозрение на файл подключения к базе, может он чтото фигней страдает? | |
|
|
|
|
|
|
|
для: TavRoX
(18.02.2013 в 17:20)
| | покажите код. И еще лучше воспользоваться профайлером | |
|
|
|
|
|
|
|
для: CrazyAngel
(19.02.2013 в 00:12)
| | а что такое профайлер?
<?php
// Начинаем сессию
session_start();
// Получаем уникальный id сессии
$id_session = session_id();
// Устанавливаем соединение с базой данных
include "config.php";
// Проверяем, присутствует ли такой id в базе данных
$query = "SELECT * FROM session
WHERE id_session = '$id_session'";
$ses = mysql_query($query);
if(!$ses) exit("<p>Ошибка в запросе к таблице сессий</p>");
// Если сессия с таким номером уже существует,
// значит пользователь online - обновляем время его
// последнего посещения
if(mysql_num_rows($ses)>0)
{
$query = "UPDATE session SET putdate = NOW(),
user = '$_SESSION[login]'
WHERE id_session = '$id_session'";
mysql_query($query);
}
// Иначе, если такого номера нет - посетитель только что
// вошёл - помещаем в таблицу нового посетителя
else
{
$query = "INSERT INTO session
VALUES('$id_session', NOW(), '$_SESSION[user]')";
if(!mysql_query($query))
{
echo $query."<br>";
echo "<p>Ошибка при добавлении пользователя</p>";
exit();
}
}
// Будем считать, что пользователи, которые отсутствовали
// в течении 20 минут - покинули ресурс - удаляем их
// id_session из базы данных
$query = "DELETE FROM session
WHERE putdate < NOW() - INTERVAL '20' MINUTE";
mysql_query($query);
$db = mysql_connect ("-----","--------","--------");
mysql_select_db("---------",$db);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
/*mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");*/
?>
|
конфиг
<?php
// сейчас выставлен сервер локальной машины
$dblocation = "localhost";
// Имя базы данных, на хостинге или локальной машине
$dbname = "4534537";
// Имя пользователя базы данных
$dbuser = "77383783";
// и его пароль
$dbpasswd = "c212121";
// Устанавливаем соединение с базой данных
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx) {
exit( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
}
// Выбираем базу данных
if (! @mysql_select_db($dbname,$dbcnx) ) {
exit( "<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
}
// Определяем версию сервера
$query = "SELECT VERSION()";
$ver = mysql_query($query);
if(!$ver) exit("Ошибка при определении версии MySQL-сервера");
$version = mysql_result($ver, 0);
list($major, $minor) = explode(".", $version);
// Если версия выше 4.1 сообщаем серверу, что будем работать с
// кодировкой cp1251
$ver = $major.".".$minor;
if((float)$ver >= 4.1)
{
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
}
?>
|
кстатисессии не работают, для входа когда выбираюавтоматический вход или же запомнит ьменя не то не другое не делается | |
|
|
|
|
|
|
|
для: TavRoX
(19.02.2013 в 20:15)
| | ребят есть соображения по этому поводу? | |
|
|
|
|
|
|
|
для: TavRoX
(19.02.2013 в 20:15)
| | ребят какие еще есть идеи? | |
|
|
|
|
|
|
|
для: TavRoX
(15.03.2013 в 18:34)
| | Может быть у Вас некоторые запросы к БД недостаточно оптимизированы? К примеру: на обработку одного запроса необходимо пару секунд, а теперь умножьте их на несколько десятков посетителей которые одновременно запрашивают страницу с этим запросом. Естественно после превышения допустимого лимита сервер просто сбрасывает лишних пользователей которые ждут своей очереди на получение результата запроса.
Узнайте время выполнения всех запросов и их обработки.
Перед стартом запроса: $start=microtime(true);
запрос
В конец запроса: echo "время обработки:". (microtime(true)-$start);
Обязательно проверьте время подключения к БД, а еще лучше, поставьте $start в начало страницы а echo в конец и узнаете общее время затраченное на выполнение всех запросов и соединений. | |
|
|
|