|
MySQL.RU - Webboard
Вернуться
Help: производительность InnoDB (Dinky) 27/10/2004 - 06:13:02
Re: Help: производительность InnoDB (walrus) 27/10/2004 - 13:45:31
Re: Help: производительность InnoDB (Dinky) 27/10/2004 - 16:22:28
Re: Help: производительность InnoDB (walrus) 27/10/2004 - 18:45:00
Re: Help: производительность InnoDB (Dinky) 27/10/2004 - 19:33:58
Re: Во-блин, во-блин, во-блин,... (Dinky) 27/10/2004 - 20:16:37
Re: А я не понял ... (Marat_L) 28/10/2004 - 08:23:22
Re: А я не понял ... (Dinky) 28/10/2004 - 20:59:26
> Original message text:
> From: Dinky - 27/10/2004 - 06:13:02
> Subject:Help: производительность InnoDB
> -----------------
> загибаются у наших сессии, решил им помочь, перенести на innodb, потестировал - что-то не круто, имхо, или я что-то не понимаю :) ok, по-порядку:
> ----- таблица ------------------
> CREATE TABLE `session` (
> `session_id` varchar(32) NOT NULL default '',
> `expires` int(11) default NULL,
> `data` mediumtext,
> PRIMARY KEY (`session_id`),
> KEY `expires` (`expires`)
> ) TYPE=InnoDB
> --------------------------------
> сгенерил 10K записей, размер данных ~200MB
> ------ /etc/my.cnf -------------
> innodb_flush_log_at_trx_commit=0
> #innodb_lock_wait_timeout=50
> innodb_buffer_pool_size=500M
> innodb_additional_mem_pool_size=20M
> innodb_log_file_size=125M
> innodb_log_buffer_size=8M
> innodb_data_file_path = ibdata1:250M:autoextend
> --------------------------------
> сделал простой скриптик
> ---------
> $rs = fopen("/dev/random","r") or die("Can't open /dev/random :(\n");
> echo time()." updating sessions...\n"; flush();
> for($i=0;$i<100;$i++) {
> if($i%10 == 0) echo " ".$i." ".time()."\n"; flush();
> $r_id = rand(1,10000);
> $res = mysql_db_query("session_innodb","SELECT data FROM session WHERE session_id=".$r_id);
> mysql_free_result($res);
> $query = "UPDATE session SET data='".mysql_escape_string(fread($rs,8096*rand(1,4))).
> "' WHERE session_id=".$r_id;
> mysql_db_query("session_innodb",$query) or die(mysql_error());
> }
> echo time()." done\n";
> fclose($rs);
> ---------
> запустил, скорость - 2-3 секунды на 10 операций select/update
> запустил 8 одновременно, скорость - 25 секунд на 10 операций select/update, т.е. апдейты выполняются по 2 секунды, а некоторые и по 3, что мягко говоря не удовлетворяет требованию "<=1sec"
> Вопросы:
> - что может тормозить (где смотреть) ?
> - что можно подкрутить (аналогично) ?
>
> Спасибо
> --
> Dmitry
>
>
From: Dinky - 27/10/2004 - 20:16:37
Subject:Во-блин, во-блин, во-блин,...
-----------------
> `session_id` varchar(32) NOT NULL default ''
усложнил скрипт, сгенерив MD5(1..10000) в качестве session_id, и засунул md5($r_id) в скрипт, запустил в 8 потоков на 1000 итераций, результат - от 1 до 3 сек на 100 операций select/update - скорость возросла в 10 раз! и это при том, что md5() вычисляется на лету в каждом запросе!!! :))) крутой сервер Xserver G5 все-таки :))
сабж! :)
--
Dmitry
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
18112
|
|