Imam jedan cudan problem koji se javlja s vremena na vreme i za sada nisam uspeo da ga resim. Radi se o tome da jedan INSERT upit uglavnom bude upisan za 0.002 sec posto je vrlo mala kolicina podatka u pitanju, ali se isto tako desi po nekad da taj isti upit zaglavi i potraje izmedju 150 i 400 sec. i za to vreme nista drugo ne radi.
Probao sam da tu tabelu i index prebacim na drugi disk na serveru koji se koristi samo za backup ali isto se desava. Ne postoji neko odredjeno vreme u toku dana kada se problem javlja... sve radi savrseno kada je server najvise opterecen i onda se desi da recimo u 3-4 nocu takav upit spuca citav sajt na 1-2 minuta.
Radi se o SMF forumu i ban tabeli, a ovo je njena struktura:
Probao sam privremeno da promenim ENGINE u MEMORY ali ako se dobro secam, problem je i dalje bio prisutan...
U pitanju je MySQL 5.0.xx na openSuSE sistemu.
Da li je neko mozda imao slican problem ili moze da me usmeri gde da trazim gresku tj. kako da je detektujem?
Probao sam da tu tabelu i index prebacim na drugi disk na serveru koji se koristi samo za backup ali isto se desava. Ne postoji neko odredjeno vreme u toku dana kada se problem javlja... sve radi savrseno kada je server najvise opterecen i onda se desi da recimo u 3-4 nocu takav upit spuca citav sajt na 1-2 minuta.
Radi se o SMF forumu i ban tabeli, a ovo je njena struktura:
Code:
CREATE TABLE IF NOT EXISTS `smf_banned` (
`ID_BAN` smallint(4) unsigned NOT NULL auto_increment,
`ban_type` enum('ip_ban','user_ban') NOT NULL,
`ip_low1` tinyint(3) unsigned NOT NULL default '0',
`ip_high1` tinyint(3) unsigned NOT NULL default '0',
`ip_low2` tinyint(3) unsigned NOT NULL default '0',
`ip_high2` tinyint(3) unsigned NOT NULL default '0',
`ip_low3` tinyint(3) unsigned NOT NULL default '0',
`ip_high3` tinyint(3) unsigned NOT NULL default '0',
`ip_low4` tinyint(3) unsigned NOT NULL default '0',
`ip_high4` tinyint(3) unsigned NOT NULL default '0',
`hostname` varchar(255) NOT NULL,
`email_address` varchar(255) NOT NULL,
`ID_MEMBER` mediumint(8) unsigned NOT NULL default '0',
`ban_time` int(10) unsigned NOT NULL default '0',
`expire_time` int(10) unsigned default NULL,
`restriction_type` enum('cannot_post','cannot_register','full_ban') NOT NULL,
`reason` varchar(255) NOT NULL,
`notes` varchar(255) NOT NULL,
PRIMARY KEY (`ID_BAN`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
CREATE TABLE IF NOT EXISTS `smf_banned` (
`ID_BAN` smallint(4) unsigned NOT NULL auto_increment,
`ban_type` enum('ip_ban','user_ban') NOT NULL,
`ip_low1` tinyint(3) unsigned NOT NULL default '0',
`ip_high1` tinyint(3) unsigned NOT NULL default '0',
`ip_low2` tinyint(3) unsigned NOT NULL default '0',
`ip_high2` tinyint(3) unsigned NOT NULL default '0',
`ip_low3` tinyint(3) unsigned NOT NULL default '0',
`ip_high3` tinyint(3) unsigned NOT NULL default '0',
`ip_low4` tinyint(3) unsigned NOT NULL default '0',
`ip_high4` tinyint(3) unsigned NOT NULL default '0',
`hostname` varchar(255) NOT NULL,
`email_address` varchar(255) NOT NULL,
`ID_MEMBER` mediumint(8) unsigned NOT NULL default '0',
`ban_time` int(10) unsigned NOT NULL default '0',
`expire_time` int(10) unsigned default NULL,
`restriction_type` enum('cannot_post','cannot_register','full_ban') NOT NULL,
`reason` varchar(255) NOT NULL,
`notes` varchar(255) NOT NULL,
PRIMARY KEY (`ID_BAN`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
Probao sam privremeno da promenim ENGINE u MEMORY ali ako se dobro secam, problem je i dalje bio prisutan...
U pitanju je MySQL 5.0.xx na openSuSE sistemu.
Da li je neko mozda imao slican problem ili moze da me usmeri gde da trazim gresku tj. kako da je detektujem?
Potpis
Pozdrav, NenadS!