Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Проблема с постоянным зависанием SQL сервера |
Автор: German1 22.9.2007, 23:13 |
Использую хостинг IXwebhosting Каждую минуту через КРОНТАБ запускаю SCRIPT для пополнения Базы данных Объем данных 3000 новых записей. Приблизительно 1мб каждую минуту. по истечении 10-15 дней SQL сервер зависает Чем это может быть вызвано... Скрипт выглядет следующим образом set_time_limit(0); include('code.php'); mysql_pconnect("mysql32.ixwebhosting.com",$user,$pass) or die("Could not connect: ".mysql_error()); } $sql_zap='SELECT * FROM Resurcefiles WHERE Table_name="'.$_REQUEST["sval"].'"';} $sql_vip_yres = mysql_query($sql_zap); If ($sql_vip_yres == TRUE){echo "запрос выполнен \n";}else{die ("запрос ".$sql_zap." не выполнен \n");} $sql_zap = 'SELECT Id_o, small_name FROM Organization LIMIT '.$p1.','.$p_; $sql_vip_on = mysql_query($sql_zap); If ($sql_vip_on == TRUE){echo "запрос выполнен \n";}else{die ("запрос ".$sql_zap." не выполнен \n");} if (mysql_num_rows($sql_vip_on)==0) exit(); $i=0; mysql_data_seek($sql_vip_on,0); while($row_on = mysql_fetch_array($sql_vip_on, MYSQL_ASSOC)) { $set_t=''; $tn=-1; $i++; $j=0; mysql_ping(); mysql_data_seek($sql_vip_yres,0); while($row_yr = mysql_fetch_array($sql_vip_yres, MYSQL_ASSOC)) { If ($tn!=$row_yr["Table_name"]) { If ($set_t!='') { If (mysql_query($sql_zap)==TRUE) {echo "запрос выполнен<br>";}else{die("запрос ".$sql_zap." не выполнен \n");} } echo $row_yr["Table_name"].' DATABASE:='.$databasename[$row_yr["Table_name"]].'<BR>'; switch((int)chop($row_yr["Table_name"])) { case 0: $set_t= $databasename[$row_yr["Table_name"]].'_'.$date_time_array["yday"].'_'.$date_time_array["year"]; break; case 1: $set_t= $databasename[$row_yr["Table_name"]].'_'.$date_time_array["mon"].'_'.$date_time_array["year"]; break; default : $set_t=$databasename[$row_yr["Table_name"]].'_'.$date_time_array["year"]; break; } $sql_zap='INSERT INTO '.$set_t.' SET Id_name="'.$row_on["Id_o"].'" , DUngdt="'.$getdt.'", Dsesion="'.$ss.'"'; If (! mysql_query('CREATE TABLE IF NOT EXISTS '.$set_t.$dataquery[$row_yr["Table_name"]] ) ) { die('запрос CREATE TABLE IF NOT EXISTS '.$set_t.$dataquery[$row_yr["Table_name"]].' не выполнен <br>'); } $tn=$row_yr["Table_name"]; } $j++; mysql_ping(); echo $i.'-'.$j; $res_s=str_replace('=','='.trim($row_on["small_name"]),Trim($row_yr["resurce_name"])); echo $res_s; for($gr=0;$gr<1;$gr++) { $gs=GetResurceFile($res_s); $LastVal=SetParams($row_yr["fieldsdata"],$gs); if ($gs!='' && $LastVal!=''){ echo ' FIND- OK'; $sql_zap=$sql_zap.$LastVal; break;} } echo " \n"; //} flush(); //ob_flush(); } //echo $sql_zap; If (mysql_query($sql_zap)==TRUE) {echo "запрос выполнен<br>";}else{die("запрос ".$sql_zap." не выполнен <br>");} //ob_flush(); flush(); } mysql_ free_ result($sql_vip_on); mysql_close(); |
Автор: -=Ustas=- 22.9.2007, 23:21 |
German1, во-первых, отредактируй пост с использованием "Код", во-вторых, логи смотреть смотреть нужно, прежде чем пинать на скрипты. |
Автор: WolfON 23.9.2007, 21:30 |
За 10 дней вы добавляете 43`200`000 записей. Вполне возможно, что сервер просто не расчитан на такие нагрузки. Идите в саппорт хостинга. |
Автор: German1 24.9.2007, 23:32 | ||
Объем Хостинга 400 ГБ- позволяет создать такую БД. Может ли зависание связано с большой посещяемостью серверов хостер??? |
Автор: BuShaRt 25.9.2007, 07:22 |
German1, Отредакртируйте сообщения пожалуйсто свои и привидите в порядок согласно правилам форума. |
Автор: MoLeX 25.9.2007, 08:36 |
German1, думаетет в этом виде ваши скрипты кто-нибудь читать будет??? |
Автор: -=Ustas=- 25.9.2007, 08:45 |
German1, ты знаешь почему зависает сервер баз данных?! Нет? Мы тоже незнаем, и знать не можем. Ты хоть бы в логах покопался бы чуть чуть. |