SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#26 13.01.2008 01:15:31

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

Вот спустя некоторое время, написал конфиг, посмотрите пожалуйста и скажите что не так и что можно было бы еще подправить?

Код:

[mysqld]
local-infile=0
init-connect='set NAMES cp1251'
default-character-set=cp1251
character-set-server=cp1251
datadir=/var/db/mysql
skip-locking
#skip-innodb 
#skip-networking
max_connections=320
max_user_connections=200
back_log=120
query_cache_limit=1M
query_cache_size=64M
query_cache_type=1
key_buffer_size=128M
max_allowed_packet=16M
table_cache=256
record_buffer=1M
interactive_timeout=10
wait_timeout=20
thread_cache_size=128
connect_timeout=20
join_buffer_size=4M
max_connect_errors=20
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=1M
thread_concurrency=2
myisam_sort_buffer_size=64M
server-id=1
thread_cache_size=8
log_slow_queries
long_query_time=1
max_tmp_tables=128
max_heap_table_size=32M
innodb_buffer_pool_size=64M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqldump]
quick
max_allowed_packet=16M

[mysqlhotcopy]
interactive-timeout

Спасибо!

Отредактированно 0lik.ru (13.01.2008 01:16:03)

Неактивен

 

#27 13.01.2008 02:21:40

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Купили новый сервер. Помогите настроить MySQL.

Чтобы оптимизировать производительность, необходимо найти узкие места. Абстрактно невозможно сказать, какие должны быть значения, скажем innodb_buffer_pool_size, не зная о конкретном применении. Включите log-slow-queries и посмотрите какие именно запросы выполняются медленно. Может быть дело в отсутствии ключей на определенных таблицах или в неоптимальных запросах.

Неактивен

 

#28 13.01.2008 21:57:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Купили новый сервер. Помогите настроить MySQL.

thread_cache_size 2 раза написан smile

Использовать чужие конфиги хорошо, но есть смысл действительно
искать узкие места и их исправлять.

Неактивен

 

#29 14.01.2008 23:41:01

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

Вот смотрю на ...slow.log, только мне мало что там говорит.
На что нужно обратить внимание?

К примеру кусок.. (частично заменил слова в названиях баз и таблиц)

Код:

# Time: 080113  1:44:57
# User@Host: имя-базы[имя-базы] @ localhost []
# Query_time: 2  Lock_time: 0  Rows_sent: 19  Rows_examined: 533810
use имя-базы;
SELECT p.*, u.* FROM префикс_таблицы_posts AS p LEFT JOIN префикс_таблицы_users AS u ON p.post_author=u.name WHERE p.topic_id = '8' ORDER by pid LIMIT 0,20;

Что можете подсказать?

Спасибо

Неактивен

 

#30 15.01.2008 00:15:06

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Купили новый сервер. Помогите настроить MySQL.

Rows_examined: 533810

Full table Scan? Ключик на (topic_id, pid) спасет.

Неактивен

 

#31 15.01.2008 11:11:09

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

Ключик на (topic_id, pid) спасет

Уважаемый, объясните пожалуйста как его ставить? Я немного знаю, читал где-то, но что бы точно убедиться что это то что надо.

Спасибо.

Вот посмотрите, для PID как я понимаю ключ уже стоит:
http://0lik.ru/files/pid.gif

Отредактированно 0lik.ru (15.01.2008 11:20:39)

Неактивен

 

#32 15.01.2008 13:39:09

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Купили новый сервер. Помогите настроить MySQL.

500 тысяч строк - это может быть и full join. Вообще говоря, чтобы не испытывать способности оракулов, приведите результат
EXPLAIN далее_запрос_полностью;
и аналагичную структуру таблицы users

Исходя из того, что есть, я бы добавил:
ALTER TABLE префикс_posts ADD KEY(topic_id, pid);
ALTER TABLE префикс_users ADD KEY(name); // если так он не стоит

Посмотрите EXPLAIN после добавления ключей.

Неактивен

 

#33 23.01.2008 14:02:03

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

rgbeast, а посмотрите в предыдущем моём сообщении скрин шот, там уже стоит ключ на pid, и если добавляю еще один внизу появляется надпись что нельзя их использовать вместе. Нужно добавлять pid или оставить? Или удалить тот который Primary ?

Спасибо

Неактивен

 

#34 23.01.2008 14:17:15

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Купили новый сервер. Помогите настроить MySQL.

попробуйте именно эту команду, и скажите, что она выдает
ALTER TABLE префикс_posts ADD KEY(topic_id, pid);

primary удалять не надо, здесь речь о создании составного ключа

Неактивен

 

#35 23.01.2008 14:36:32

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

rgbeast, а именно эта команда дает следующее:

http://0lik.ru/files/toppid.gif

получается добавляется одна строка с двойным полем.

Неактивен

 

#36 23.01.2008 14:38:33

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Купили новый сервер. Помогите настроить MySQL.

Так и должно быть. Ваш запрос должен перестать быть медленным. Посмотрите
EXPLAIN медленный_запрос

Неактивен

 

#37 23.01.2008 14:47:43

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

Вот что вывел EXPLAIN:

http://0lik.ru/files/explain.gif

Неактивен

 

#38 23.01.2008 15:03:49

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Купили новый сервер. Помогите настроить MySQL.

Не очень хорошо, во второй таблице не используется ключ на Name. Что говорит SHOW CREATE TABLE на users ?

Неактивен

 

#39 23.01.2008 15:17:29

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

Выдает такое:
http://0lik.ru/files/show.gif

но что то здесь как то обрублено помоему?

Неактивен

 

#40 23.01.2008 15:21:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5828

Re: Купили новый сервер. Помогите настроить MySQL.

0lik.ru написал:

но что то здесь как то обрублено помоему?

Нажмите правой кнопкой на слова "create table" и выберете что-то типа "save field content"

Было бы удобно, если Вы это писали текстом здесь, а не давали ссылку на рисунок.

Неактивен

 

#41 23.01.2008 15:42:52

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

Нажмите правой кнопкой на слова "create table" и выберете что-то типа "save field content"

Что то я такого не нашел. А попробывал нажать на кнопочку http://0lik.ru/files/1.GIF и отвалился Apache!!

Неактивен

 

#42 23.01.2008 16:07:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5828

Re: Купили новый сервер. Помогите настроить MySQL.

0lik.ru написал:

Нажмите правой кнопкой на слова "create table" и выберете что-то типа "save field content"

Что то я такого не нашел. А попробывал нажать на кнопочку http://0lik.ru/files/1.GIF и отвалился Apache!!

Нажать нужно не на заголовок, а на вывод результата, т.е. "create table `users` ( ..." Во всплывшем окне должна быть возможность сохранить результат.
Как вариант (независимо от менеджера БД), Вы всегда можете поместить курсор в начало вывода и удерживая "Shift" перемещать его вправо до упора. Затем скопировать в буфер обмена выделенный текст.

Неактивен

 

#43 26.01.2008 23:54:19

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

vasya, нашел другим способом.

На что там надо обратить внимание?

Вот что там:

Код:

CREATE TABLE `префикс_users` (\n  `email` varchar(50) NOT NULL default '',\n  `password` varchar(32) NOT NULL default '',\n  `name` varchar(40) NOT NULL default '',\n  `user_id` mediumint(8) NOT NULL auto_increment,\n  `news_num` smallint(6) NOT NULL default '0',\n  `comm_num` mediumint(8) NOT NULL default '0',\n  `user_group` smallint(5) NOT NULL default '4',\n  `lastdate` varchar(20) default NULL,\n  `reg_date` varchar(20) default NULL,\n  `banned` varchar(5) NOT NULL default '',\n  `allow_mail` tinyint(1) NOT NULL default '1',\n  `info` text NOT NULL,\n  `signature` text NOT NULL,\n  `foto` varchar(30) NOT NULL default '',\n  `fullname` varchar(100) NOT NULL default '',\n  `land` varchar(100) NOT NULL default '',\n  `icq` varchar(20) NOT NULL default '',\n  `favorites` text NOT NULL,\n  `pm_all` smallint(5) NOT NULL default '0',\n  `pm_unread` smallint(5) NOT NULL default '0',\n  `time_limit` varchar(20) NOT NULL default '',\n  `xfields` text NOT NULL,\n  `allowed_ip` varchar(16) NOT NULL default '',\n  `hash` varchar(32) NOT NULL default '',\n  `logged_ip` varchar(16) NOT NULL default '',\n  `subscription` text NOT NULL,\n  `forum_post` smallint(6) NOT NULL default '0',\n  `forum_warn` smallint(5) NOT NULL default '0',\n  `forum_update` varchar(20) NOT NULL,\n  `forum_rank` varchar(40) NOT NULL,\n  PRIMARY KEY  (`user_id`),\n  UNIQUE KEY `name` (`name`),\n  UNIQUE KEY `email` (`email`)\n) ENGINE=MyISAM AUTO_INCREMENT=33636 DEFAULT CHARSET=cp1251

Отредактированно 0lik.ru (27.01.2008 00:03:39)

Неактивен

 

#44 27.01.2008 00:11:51

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Купили новый сервер. Помогите настроить MySQL.

Странно, что ключ на name не используется. Тогда уж приведите структуру второй таблицы и запрос полностью, чтобы повторить можно было.

Неактивен

 

#45 27.01.2008 00:19:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Купили новый сервер. Помогите настроить MySQL.

Возникла интересная мысль. А что если там на системе стоит что-то совершенно
неудобоваримое, о чем 0lik.ru умалчивает? \n выдает вместо переноса каретки...

Неактивен

 

#46 27.01.2008 01:27:41

0lik.ru
Участник
Зарегистрирован: 15.12.2007
Сообщений: 23

Re: Купили новый сервер. Помогите настроить MySQL.

rgbeast, второй имеется виду какой?

paulus, не совсем понял ваши мысли... smile

Неактивен

 

#47 27.01.2008 01:43:18

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Купили новый сервер. Помогите настроить MySQL.

запрос к двум таблицам, вторая posts. Если Вы выложите show create table второй, и полностью запрос, мы сможем попробовать повторить опыт и посмотреть explain.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson