А проблема такая: при одновременной работе с двух компов начинаются тормоза, а иногда выдаются ошибки (невозможно подключиться к базе, и ещё всякая ересь). Из-за чего такие проблемы могут возникнуть? Из за слишком сложного кода, ошибок в нём или ещё какой-нибудь ерунды? Или может зависит от сервера, где захостил сайт?
Спустя 5 минут, 34 секунды (12.03.2010 - 19:50) sergeiss написал(а):
Вот эти слова
Цитата (andrey @ 12.03.2010 - 20:45) |
и чтение из файлов |
наводят на мысли о том, что происходит одновременное обращение к одному и тому же файлу.
Опять же - что именно ты делаешь с БД? Может быть, даешь "тяжелые" запросы, которые совершенно не оптимизированы и поэтому "вешают" БД.
Без кода тут можно только "гадать на кофейной гуще".
Спустя 6 минут, 45 секунд (12.03.2010 - 19:57) Nikitian написал(а):
Это ж насколько активно надо открывать странички, чтобы с двух компов ловить блокировки файлов %)
Спустя 2 минуты, 13 секунд (12.03.2010 - 19:59) sergeiss написал(а):
А это смотря сколько времени файл будет открыт Если очень постараться, то можно и с 2-х компов "поймать глюк".
Спустя 8 часов, 47 минут, 42 секунды (13.03.2010 - 04:47) andrey написал(а):
Я бы конечно вставил код, но там 5 php страничек и на какой конкретно глюк, я не знаю:( Можно кому-нибудь на мыло скинуть, чтоли? К базе то вроде запросы не сложные, а вот с файлами... Хотя и файлы то небольшие, максимум строк по 50.
Да и ещё кстати, тормоза на втором компе наблюдаются даже при доступе на главную страницу сайта (html-ка с двумя ссылками без всяких баз и файлов...)
Заранее спасибо за помощь!
Да и ещё кстати, тормоза на втором компе наблюдаются даже при доступе на главную страницу сайта (html-ка с двумя ссылками без всяких баз и файлов...)
Заранее спасибо за помощь!
Спустя 1 день, 1 час, 34 минуты, 35 секунд (14.03.2010 - 06:22) Guest написал(а):
Ладно попробую выложить код. Первая страничка (на ней выводится приглашение: введите свой пол, возраст и.т.д):
<?php
?>
<?php
echo "<form action=\"psihtest.php\" method=\"post\">";
$fh = fopen("list.txt","r");
echo "<h2>Выберите тестирование</h2>";
echo "<select name=\"test\">";
while (!feof($fh))
{
$nom=fgets($fh);
$line=fgets($fh);
if($line!="")
echo "<option value=".$nom." >".$line."</option>";
fgets($fh);//заголовок
fgets($fh);//пробел
}
echo "</select>";
fclose($fh);
echo "<br><h2>Введите свои данные</h2>";
echo "Пол";
echo "<br>";
echo "<select name=\"pol\">";
echo "<option value=\"1\" >Женский</option>";
echo "<option value=\"2\" >Мужской</option>";
echo "</select>";
echo "<br>";
echo "Возраст";
echo "<br>";
echo "<select name=\"voz\">";
echo "<option value=\"1\" >Меньше 18</option>";
echo "<option value=\"2\" >18-30</option>";
echo "<option value=\"3\" >30-60</option>";
echo "<option value=\"4\" >Больше 60</option>";
echo "</select>";
echo "<br>";
echo "Образование";
echo "<br>";
echo "<select name=\"obr\">";
echo "<option value=\"1\" >Среднее</option>";
echo "<option value=\"2\" >Среднее специальное</option>";
echo "<option value=\"3\" >Высшее</option>";
echo "</select>";
echo "<br>";
echo "<br>";
echo "<button type=\"submit\" >Начать тестирование</button>";
echo "</form>";
?>
Спустя 2 минуты, 52 секунды (14.03.2010 - 06:25) andrey написал(а):
Вторая страничка. На ней пользователю предлагается пройти тестирование. Выводятся вопросы из файла и к каждому три варианта ответов.
Спустя 1 минута, 2 секунды (14.03.2010 - 06:26) andrey написал(а):
Третья страница. Обработка результатов и занесение в БД.
Спустя 3 минуты, 45 секунд (14.03.2010 - 06:29) andrey написал(а):
В общем понимаю, что разобраться в моём коде сложно. Но так, на первый взгляд, где кроется причина тормозов?
P.S. Да, и не судите строго, если код сильно нубский, я на php где-то неделю назад только начал писать...
P.S. Да, и не судите строго, если код сильно нубский, я на php где-то неделю назад только начал писать...
Спустя 3 часа, 53 минуты, 6 секунд (14.03.2010 - 10:22) sergeiss написал(а):
andrey - во-первых, используй тэги оформления кода (на форуме)! Это существенно улучшает его читаемость. Для этого введенный код выделяешь, и нажимаешь одну из кнопочек над полем ввода (PHP, SQL, HTML или другую, в зависимости от типа кода). Сейчас это я проделал. Разницу в восприятии кода оцени сам.
По теме. Поставь в разных местах скрипта код
можешь даже сделать его в виде функции и просто вызывать ее. Это позволить одним изменением внутри функции отключить весь этот вывод, когда он не нужен.
И оцени, сколько времени выполняется та или иная операция. По разнице времени до и после операций.
И еще - посмотри в сторону фунции file(), Она позволяет быстро загрузить весь файл в массив, с которым уже потом можно работать.
По теме. Поставь в разных местах скрипта код
echo 'Time : '.date( 'H:i:s' ).'<br>';
можешь даже сделать его в виде функции и просто вызывать ее. Это позволить одним изменением внутри функции отключить весь этот вывод, когда он не нужен.
И оцени, сколько времени выполняется та или иная операция. По разнице времени до и после операций.
И еще - посмотри в сторону фунции file(), Она позволяет быстро загрузить весь файл в массив, с которым уже потом можно работать.
Спустя 30 минут, 29 секунд (14.03.2010 - 10:53) Guest написал(а):
Да, насчёт форума я тупанул, не заметил эти кнопочки:) Спасибо.
Поставил во все мыслимые и немыслимые места проверку времени. Вобщем от начала до конца скрипта выдаёт одно и то же время до секунды. Как я понял, все операции выполняются быстрее, чем за секунду. Это наверное и правда так, при доступе с одной машины нету никаких тормозов...
Поставил во все мыслимые и немыслимые места проверку времени. Вобщем от начала до конца скрипта выдаёт одно и то же время до секунды. Как я понял, все операции выполняются быстрее, чем за секунду. Это наверное и правда так, при доступе с одной машины нету никаких тормозов...
Спустя 24 минуты, 31 секунда (14.03.2010 - 11:17) sergeiss написал(а):
Цитата (Guest @ 14.03.2010 - 11:53) |
Это наверное и правда так, при доступе с одной машины нету никаких тормозов... |
Цитата (andrey @ 12.03.2010 - 20:45) |
А проблема такая: при одновременной работе с двух компов начинаются тормоза |
Ну так и проверь, что происходит при обращении с 2-х компов!
Спустя 7 минут, 15 секунд (14.03.2010 - 11:25) andrey написал(а):
Был бы второй комп под рукой....
Спустя 1 час, 25 минут, 19 секунд (14.03.2010 - 12:50) andrey написал(а):
Сейчас попробовал зайти с 2-х компов. Тормозов нету! Может тогда на сервере какие-то проблемы были и я зря волновался? В любом случае всем спасибо