> thats very smart to post in russian to an ENGLISH OONLY list!
Sorri, i not speak english
----------------------------
Прошу извинить меня, но я не говорю по английски.
I have described as could, mistake cost(stand)s that.
hereon appeared drain to memories, I happened to to overload server
-------------
Ошибка стоила того, чтобы сообщить о ней - после выполнения скрипта на
серевере возникла утечка памяти, что вынудило меня выполнить его
перезагрузку.
before reboot:
==============
top - 18:24:15 up 1 day, 7:48, 2 users, load average: 0.18, 0.50, 0.41
Tasks: 197 total, 1 running, 195 sleeping, 0 stopped, 1 zombie
Cpu0 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu1 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu2 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu3 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 3631768k total, 2994160k used, 637608k free, 54348k buffers
^^^^^^^^^^^
mysql NOT RUN, more process also shutdown
Swap: 979924k total, 0k used, 979924k free, 611848k cached
after reboot:
=============
top - 18:38:38 up 3 min, 1 user, load average: 0.01, 0.03, 0.00
Tasks: 77 total, 2 running, 75 sleeping, 0 stopped, 0 zombie
Cpu0 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu1 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu2 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu3 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 3631768k total, 56132k used, 3575636k free, 2204k buffers
^^^^^^^
MySQL until it is loaded
top - 18:44:08 up 9 min, 1 user, load average: 1.29, 0.35, 0.12
Tasks: 113 total, 1 running, 111 sleeping, 0 stopped, 1 zombie
Cpu0 : 3.0% us, 4.0% sy, 0.0% ni, 0.0% id, 92.4% wa, 0.0% hi, 0.7% si
Cpu1 : 0.0% us, 0.3% sy, 0.0% ni, 94.0% id, 5.6% wa, 0.0% hi, 0.0% si
Cpu2 : 0.3% us, 0.0% sy, 0.0% ni, 99.7% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu3 : 0.0% us, 0.3% sy, 0.0% ni, 84.4% id, 15.3% wa, 0.0% hi, 0.0% si
Mem: 3631768k total, 358352k used, 3273416k free, 10776k buffers
^^^^^^^
MySQL is loaded
top - 18:52:01 up 16 min, 2 users, load average: 6.07, 3.74, 1.70
Tasks: 208 total, 2 running, 206 sleeping, 0 stopped, 0 zombie
Cpu0 : 2.0% us, 1.7% sy, 0.0% ni, 88.1% id, 8.3% wa, 0.0% hi, 0.0% si
Cpu1 : 0.0% us, 0.3% sy, 0.0% ni, 93.7% id, 6.0% wa, 0.0% hi, 0.0% si
Cpu2 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu3 : 0.3% us, 0.3% sy, 0.0% ni, 97.0% id, 2.3% wa, 0.0% hi, 0.0% si
Mem: 3631768k total, 935544k used, 2696224k free, 46516k buffers
^^^^^^^
MySQL is loaded and works with full load
> t
> pwn_mail_ru irta:
>> Hi!
>>
>> uname -a
>> Linux mysql1 2.6.16TD322 #8 SMP Thu Jul 27 18:39:45 MSD 2006 i686 unknown
>> unknown GNU/Linux
>>
>> mysqld -V
>> mysqld Ver 4.1.22-standard-log for pc-linux-gnu on i686 (MySQL Community
>> Edition - Standard (GPL))
>>
>>
>> Выполнялся такой запрос из под PHP (в нем была допущена ошибка)
>>
>> $Query = "SELECT SQL_SMALL_RESULT DEV.ID,I1.A as A1,I1.B as B1,I1.C as
>> C1,I1.D as D1,I2.A as A2,I2.B as B2,I2.C as C2,I2.D as D2,DEV.ID_ROLE,".
>> "I3.A as A3,I3.B as B3,I3.C as C3,I3.D as D3,I4.A as A4,I4.B as
>> B4,I4.C as C4,I4.D as D4, DEV.SNMPCOMM_C, DEV.SNMPCOMM_M,DEV.LGSNMP,".
>>
>> "DEV.LGSNMP2,DEV.SNMPPORT1,DEV.SNMPPORT2,DEV.LGSSH,MD.NAME_MODEL,DEV.LGDEAD,DEV.LGAUTOCH,DEV.TACACS_KEY_C,DEV.TYPEDEV
>> FROM $TBDEV".
>> " AS DEV FORCE INDEX (ID_IOF)".
>> " LEFT JOIN $TBDEVIP AS I1 ON I1.ID=DEV.ID_IPADDR".
>> " LEFT JOIN $TBDEVIP AS I2 ON I2.ID=DEV.ID_REALIP".
>> " LEFT JOIN $TBDEVIP AS I3 ON I1.ID=DEV.ID_IPADDR".
>> " LEFT JOIN $TBDEVIP AS I4 ON I2.ID=DEV.ID_REALIP".
>> " LEFT JOIN $TBDEVMOD AS MD ON MD.ID=DEV.ID_MODEL".
>> " WHERE DEV.ID_IOF=$SubDiv order by
>> DEV.LGDEAD,DEV.TYPEDEV,I1.A,I1.B,I1.C,I1.D";
>>
>>
>> Корректный запрос после того как ошибка была исправлена
>>
>> $Query = "SELECT SQL_SMALL_RESULT DEV.ID,I1.A as A1,I1.B as B1,I1.C as
>> C1,I1.D as D1,I2.A as A2,I2.B as B2,I2.C as C2,I2.D as D2,DEV.ID_ROLE,".
>> "I3.A as A3,I3.B as B3,I3.C as C3,I3.D as D3,I4.A as A4,I4.B as
>> B4,I4.C as C4,I4.D as D4, DEV.SNMPCOMM_C, DEV.SNMPCOMM_M,DEV.LGSNMP,".
>>
>> "DEV.LGSNMP2,DEV.SNMPPORT1,DEV.SNMPPORT2,DEV.LGSSH,MD.NAME_MODEL,DEV.LGDEAD,DEV.LGAUTOCH,DEV.TACACS_KEY_C,DEV.TYPEDEV
>> FROM $TBDEV".
>> " AS DEV FORCE INDEX (ID_IOF)".
>> " LEFT JOIN $TBDEVIP AS I1 ON I1.ID=DEV.ID_IPADDR".
>> " LEFT JOIN $TBDEVIP AS I2 ON I2.ID=DEV.ID_REALIP".
>> " LEFT JOIN $TBDEVIP AS I3 ON I3.ID=DEV.ID_IPTUN1".
>> " LEFT JOIN $TBDEVIP AS I4 ON I4.ID=DEV.ID_IPTUN2".
>> " LEFT JOIN $TBDEVMOD AS MD ON MD.ID=DEV.ID_MODEL".
>> " WHERE DEV.ID_IOF=$SubDiv order by
>> DEV.LGDEAD,DEV.TYPEDEV,I1.A,I1.B,I1.C,I1.D";
>>
>>
>> Если сравнить эти два запроса, то легко можно увидеть, что это обычная
>> ошибка блочного копирования. MySQL должен был бы по идее выдать сообщение о
>> некорректном связывании таблиц, но вместо этого он выдал это:
>>
>> MySQLi Error: (1030) Получена ошибка 28 от обработчика таблиц
>>
>> тоесть системная ошибка нет места на диске. Разбор полетов показал, что при
>> выполнении такого запроса MySQL съедает всю отведенную ему настройками
>> память (смотрелось утилитой top), и очень сильно нагружает процессор.
>>
>> Пояснение к запросу - связывалось три таблицы, в одной устройства, в
>> другой модели устройств, в третьей IP адреса. Поскольку к устройству
>> может быть привязано от одного до 4 IP адресов, таблица IP адресов
>> связывалась 4 раза под разными псевдонимами (и в этой части была
>> допущена ошибка)
>>
>> структура таблиц:
>>
>> $TBDEV
>>
>> CREATE TABLE `all_dev` (
>> `ID` int(10) unsigned NOT NULL auto_increment
>> `ID_IPADDR` int(11) unsigned NOT NULL default '0',
>> `ID_REALIP` int(11) unsigned NOT NULL default '0',
>> `ID_IPTUN1` int(11) unsigned NOT NULL default '0',
>> `ID_IPTUN2` int(11) unsigned NOT NULL default '0',
>> ............
>>
>> PRIMARY KEY (`ID`),
>> ...........
>> ) ENGINE=MyISAM AUTO_INCREMENT=2374;
>>
>>
>> $TBDEVIP
>>
>> CREATE TABLE `dev_ipaddr` (
>> `ID` int(10) unsigned NOT NULL auto_increment,
>> `A` tinyint(3) unsigned NOT NULL default '0',
>> `B` tinyint(3) unsigned NOT NULL default '0',
>> `C` tinyint(3) unsigned NOT NULL default '0',
>> `D` tinyint(3) unsigned NOT NULL default '0',
>> ....
>> PRIMARY KEY (`ID`),
>> KEY `IP` (`A`,`B`,`C`,`D`)
>> ) ENGINE=MyISAM AUTO_INCREMENT=4660;
>>
>>
>>
>> $TBDEVMOD
>>
>> CREATE TABLE `dev_model` (
>> `ID` int(10) unsigned NOT NULL auto_increment,
>> `NAME_MODEL` varchar(40) NOT NULL default '',
>> .....
>> PRIMARY KEY (`ID`),
>> .....
>> ) ENGINE=MyISAM AUTO_INCREMENT=22;
>>
>>
>>
--
С уважением,
pwn_mail_ru mailto:[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]