здравствуйте! почему время генерации одной и тойже страницы на одном и том-же сервере в разное время может составлять от нескольких сотых секунд до 6-7секунд? Почему так неровно? по чьей пречине это может происходить по пречине кодера или сервера? и какое время считается нормальным? спасибо
давольно часто используется str_replace(); для работы на средних объемах текста один раз подключаюсь к базе данных.. в htaccess настроен mod rewrite и страницы ошибки еще в некоторых деррикториях стоит запрет на просмотр всех файлов да вроде и все...
Вот код Код (Text): //подсчет времени создания страницы include("data/starttimegenirationpages.inc"); define(ID, $_GET['id']); //подключаемся к БД //работа с базой данныхберем всю необходимуб информацию------------------------------------------------------ $db['name']="имя"; $db['table']="имя"; //соединение с БД $conn = mysql_connect ("хост", "имя","") or die ("Соединение не установлено!<br>"); //выбор БД $selected=mysql_select_db($db['name'],$conn) or die ("База". $db['name']." не выбрана<br>!"); //Выбервем в таблице ячейки $selectedresult=mysql_query("select * from ". $db['table']." where id=".ID.";"); $pagesdata=mysql_fetch_array($selectedresult); //проверяет присутствие страницы в баще данных if ($pagesdata[1]=="") { include ("error/error404.htm"); exit; } mysql_close($conn); //определяем шаблон-------------------------------------------------- $template_style="bw"; switch (ID) { case 1: $ftmplte['body']="t/$template_style/index.htm"; $ftmplte['upmenu']="t/$template_style/upmenu.htm"; $ftmplte['downmenu']="t/$template_style/downmenu.htm"; $ftmplte['search']="t/$template_style/search.htm"; $ftmplte['copy']="t/$template_style/copy.htm"; $ftmplte['counter']="t/$template_style/counter.htm"; break; case 6: $ftmplte['body']="t/bw/photogallery.htm"; $ftmplte['upmenu']="t/$template_style/upmenu.htm"; $ftmplte['downmenu']="t/$template_style/downmenu.htm"; $ftmplte['copy']="t/$template_style/copy.htm"; $ftmplte['counter']="t/$template_style/counter.htm"; break; default: $ftmplte['body']="t/bw/deep.htm"; $ftmplte['upmenu']="t/$template_style/upmenu.htm"; $ftmplte['downmenu']="t/$template_style/downmenu.htm"; $ftmplte['search']="t/$template_style/search.htm"; $ftmplte['copy']="t/$template_style/copy.htm"; $ftmplte['counter']="t/$template_style/counter.htm"; } //функции для замены ссылок---------------------------------- function main_pages ($stroper) { $actp="http://имя.ru/"; //стр $L[1]="{Lindex}";//главная $L[2]="{Labitur}";//абитуриенту $L[3]="{Lactiv}"; //деятельноть $L[4]="{Lhistory}"; //история $L[5]="{Lstulife}"; //студ жизнь $L[6]="{Lphoto}"; //фотогалерея $L[7]="{Lcontact}"; //контакты for ($i=1; $i<=7; $i++) $stroper=str_replace($L[$i],$actp.$i,$stroper); return $stroper; } function deep_pages ($stroper) { $actp="http://имя.ru/"; $L[8]="{Lshtuko}";//Юрий Штуко $L[9]="{Ltushinok}";//Константин Тушинок $L[10]="{Lblagovest}"; //Благовест $L[11]="{Lvdohnovenie}"; //Вдохновение $L[12]="{Lsho}"; //школьное отделение $L[13]="{Lomo}"; //Отделение музыкального образования $L[15]="{Ldho}"; //Детское хоровое отделение $L[14]="{Lsnop}"; //сно поиск $L[16]="{Ltsni}"; //Центр научных исследований $L[17]="{Lmihno}"; //Михно for ($i=8; $i<=17; $i++) $stroper=str_replace($L[$i],$actp.$i,$stroper); return $stroper; } //Читаем шаблон страницы------------------------------------------------------- $fup = fopen($ftmplte['body'], "r"); $Page=fread($fup, filesize($ftmplte['body'])); fclose($fup); //Формеруем шаблон страницы-------------------------------------------------------- //вставляем заголовок---- $Page=str_replace("{Dtitle}", $pagesdata[1], $Page); //Читаем шаблон верхнего меню вставляем верхнее меню--- $fup = fopen($ftmplte['upmenu'], "r"); $template['upmenu']=fread($fup, filesize($ftmplte['upmenu'])); fclose($fup); $template['upmenu']=main_pages($template['upmenu']);//вставляем ссылки на страницы $Page=str_replace("{Dup_menu}",$template['upmenu'],$Page); //Читаем шаблон нижнего меню вставляем верхнее меню---- $fup = fopen($ftmplte['downmenu'], "r"); $template['downmenu']=fread($fup, filesize($ftmplte['downmenu'])); fclose($fup); $template['downmenu']=main_pages($template['downmenu']);//вставляем ссылки на страницы $Page=str_replace("{Ddown_menu}",$template['downmenu'],$Page); //Читаем шаблон копирайта вставляем копирайт-------- $fup = fopen($ftmplte['copy'], "r"); $template['copy']=fread($fup, filesize($ftmplte['copy'])); fclose($fup); $Page=str_replace("{Dcopy}",$template['copy'],$Page); //Читаем шаблон счетчика вставляем счетчик-------- $fup = fopen($ftmplte['counter'], "r"); $template['counter']=fread($fup, filesize($ftmplte['counter'])); fclose($fup); $Page=str_replace("{DCounter}",$template['counter'],$Page); //Отдельно шаблон страницы в теле вставляем ссылки на вторые страницы---------------------- $pagesdata[3]=deep_pages($pagesdata[3]); //подключаем инклуды если предполагаются дополнительные замены и доделываем тело ------------------------------- if($pagesdata[2]) //если инклуды существуют { $bodyspecialparam=$pagesdata[3]; $includes=explode("|", $pagesdata[2]); //отдкляем их друг от дружки $includescount=count($includes); for ($includestep=0; $includestep<$includescount; $includestep++) //подключаем include("data/".$includes[$includestep].".inc"); $Page=str_replace("{Dbody}", $bodyspecialparam, $Page); }else $Page=str_replace("{Dbody}", $pagesdata[3], $Page); //и последним Читаем шаблон поиска вставляем поиск--------- if (isset($ftmplte['search'])==true) { $fup = fopen($ftmplte['search'], "r"); $template['search']=fread($fup, filesize($ftmplte['search'])); fclose($fup); $Page=str_replace("{Dsearch}", $template['search'], $Page); } //конец подсчета времени создания страницы include("data/endtimegenirationpages.inc"); $Page=str_replace("{DTimeGen}", $DTimeGen, $Page); //Вывод страницы----------------------------------------------------------- echo "$Page";
include("data/starttimegenirationpages.inc"); Код (Text): //текущее время // считываем текущее время $start_time = microtime(); // разделяем секунды и миллисекунды (становятся значениями начальных ключей массива-списка) $start_array = explode(" ",$start_time); // это и есть стартовое время $start_time = $start_array[1] + $start_array[0]; include("data/endtimegenirationpages.inc"); Код (Text): //конец подсчета времени // делаем то же, что и в start.php, только используем другие переменные $end_time = microtime(); $end_array = explode(" ",$end_time); $end_time = $end_array[1] + $end_array[0]; // вычитаем из конечного времени начальное $time = $end_time - $start_time; $time="$time"; $DTimeGen="Страница сгенерирована за ".$time[0].$time[1].$time[2].$time[3].$time[4].$time[5]. " секунд";
Как вариант подключение к БД и/или чтение шаблона при загрузке Могу ошибаться, но мне, почему-то кажется именно так
причине директориях. Страница полностью одна и та же? или условия разные? если сохранить браузером, будет байт в байт (кроме времени)?