Реклама на сайте Advertise with us

MySQL 5.0, FreeBSD 6.1 и SMP..

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 19/09/07 в 23:10       Ответить с цитатойцитата 

опять вопрос из области DualProcessor Systems....

Система - ФриБСД 6.1, мускуль - 5.0.22 ..

1. Как заставить MySQL юзать оба процессора?...

Конфиг, это нечто такое (Вырезка):
Код:

[mysqld]
skip-locking
skip-innodb
skip-networking
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
max_connections=2500
interactive_timeout=100
wait_timeout=1000
connect_timeout=30
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
thread_concurrency=4
myisam_sort_buffer_size=64M
log-warning = 2
log-error = /var/log/mysql/log-error.log
log-slow-queries = /var/log/mysql/slowqueries.log
long_query_time = 10
open_files_limit = 8192
#log-queries-not-using-indexes

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates


В мануале к мускулю про SMP упоминается совсем не часто...
Цитата:
The operating system to use is very important. To get the best use of multiple-CPU machines, you should use Solaris (because its threads implementation works well) or Linux (because the 2.4 and later kernels have good SMP support).

Тут конечно всё написано... Но там же не "you should use only..."

В гугле нашел упоминания, что мускуль надо собрать с "linuxthreads".. потом нашел, что 5я версия мускуля и 6я фряхи отлично работают в SMP Режиме...

То, что выше, отсюда: http://jeremy.zawodny.com/blog/archives/000697.html
Статья древняя, но каменты доходят до этого года....

Больше ничего внятного не нашел... УЖС...


Оффтоп:
Почему top показывает напротив процесса - номер процессора, который юзается данным процессом?... Неужели один процесс не может одновременно работать на 2х процессорах?... В процессе же много потоков и их самих можно "возложить" на разные процессоры.... А top напротив каждого процесса показывает конкретный логический номер процессора... Непонятка...

Всем Спасибо и +4 по традиции ))

Толковый программист ждет [не]больших заказов (:

0
 



С нами с 08.05.06
Сообщения: 112
Рейтинг: 116

Ссылка на сообщениеДобавлено: 20/09/07 в 00:56       Ответить с цитатойцитата 

По идее все у тебя должно работать. Сделай WITH_PROC_SCOPE_PTH=yes , по идее должно помочь.

з.ы. Может тебе действительно переставиться на что-нить Linuxоподобное? Сразу полегчает.

з.ы.ы. Может тебя хорошего фрюшного админа порекомендовать?

4
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/09/07 в 10:31       Ответить с цитатойцитата 

Вообщем невдаваясь в подробности, хочешь чтобы нагрузка распределялась на несколько процессоров равномерно, ставь Linux или linux-base и собирай с поддержкой linuxthreads.

Цитата:
Почему top показывает напротив процесса - номер процессора, который юзается данным процессом?... Неужели один процесс не может одновременно работать на 2х процессорах?... В процессе же много потоков и их самих можно "возложить" на разные процессоры.... А top напротив каждого процесса показывает конкретный логический номер процессора... Непонятка..
.

Процесс может выполняться только на одном процессоре.
В linux потоки одного процесса могут работать на разных процессорах по средствам kernel threads.

4
 



С нами с 08.05.06
Сообщения: 112
Рейтинг: 116

Ссылка на сообщениеДобавлено: 20/09/07 в 10:59       Ответить с цитатойцитата 

xreload писал:
Вообщем невдаваясь в подробности, хочешь чтобы нагрузка распределялась на несколько процессоров равномерно, ставь Linux или linux-base и собирай с поддержкой linuxthreads.


То что я написал и является аналогом линукстридс для фряхи. Да и сами они могут поставиться на фряху. Только это действительно как-то странно выглядит...

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 20/09/07 в 16:32       Ответить с цитатойцитата 

tramper2 писал:
По идее все у тебя должно работать. Сделай WITH_PROC_SCOPE_PTH=yes , по идее должно помочь.

Сейчас поглядим с чем это едят... Пасиб!

tramper2 писал:

з.ы. Может тебе действительно переставиться на что-нить Linuxоподобное? Сразу полегчает.

В ДЦ не ставят линух... :(
Из ОС - CentOS, FreeBSD, OpenBSD, Fedora Core, Debian Stable, NetBSD, Ubuntu Server Edition...
А если про линух говорить - про какой речь?...

tramper2 писал:
з.ы.ы. Может тебя хорошего фрюшного админа порекомендовать?

Себя? :) Понимаешь в чем дело, админ нужен, когда нифика не работает, или совсем не умеешь ничего ставить/настраивать, или времени нет и желания геморроем заниматься...
Хорошими Фрюшными Админами же не рождаются.. Ими становятся... С временем и опытом.. Я пока сам поэксперементирую.. ))

Толковый программист ждет [не]больших заказов (:

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 20/09/07 в 16:47       Ответить с цитатойцитата 

xreload писал:
Вообщем невдаваясь в подробности, хочешь чтобы нагрузка распределялась на несколько процессоров равномерно, ставь Linux или linux-base и собирай с поддержкой linuxthreads.

Интересно... Правда в портах этих linux_base'ов столько... Какой нужен?... Помню для сутры когда-то ставили linux_base-rh-9... Так а что linux_base сделает? Научит приложения, которые "умеют" с ним работать правильно разделять свои вычисления на 2 проца?...

xreload писал:

Процесс может выполняться только на одном процессоре.
В linux потоки одного процесса могут работать на разных процессорах по средствам kernel threads.

Мдя... ФриБСД в этом плане странная какая-то... :-/

Вот, кстати, в top такое сейчас висит:
Цитата:

last pid: 2629; load averages: 3.39, 3.60, 3.63 up 34+01:39:41 13:40:25
395 processes:5 running, 386 sleeping, 1 zombie, 3 lock
CPU states: 37.6% user, 0.0% nice, 52.0% system, 0.6% interrupt, 9.9% idle
Mem: 1472M Active, 178M Inact, 272M Wired, 74M Cache, 112M Buf, 5176K Free
Swap: 4096M Total, 79M Used, 4016M Free, 1% Inuse


PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
85101 mysql 514 20 0 171M 89120K kserel 3 31.3H 182.28% mysqld


Призадумался... WCPU На мускуле - 182.28%... ))) Выходит, здесь указанно суммарное потребление проца по обоим процессорам? ))) ** top этот из FreeBSD 6.1 (А то на каждой ОС - он "своё" вкладывает в подобные колонки)...
Просто CPU - тоже самое... 182%...

Но как такое реально, если процесс - один и выходит висит лишь на одном процессоре?.. (Номер 3... Даже указанно...)

P.S. Все по +4 получили! )
Спасибо за помощь!

Толковый программист ждет [не]больших заказов (:

0
 



С нами с 01.02.07
Сообщения: 231
Рейтинг: 294

Ссылка на сообщениеДобавлено: 20/09/07 в 17:28       Ответить с цитатойцитата 

linux_threads не стоит
стоит во первых обновить ОС до 6.2, а как только зарелизят 7.0 - то до 7.0
во вторых надо в /etc/libmap.conf записать
# cat /etc/libmap.conf
[mysqld]
libpthread.so.2 libthr.so.2
libpthread.so libthr.so

ну и в третьих если вопрос в производительности мускуля то стоит поставить
key_buffer=256M хотя бы

4
 



С нами с 01.02.07
Сообщения: 231
Рейтинг: 294

Ссылка на сообщениеДобавлено: 20/09/07 в 18:08       Ответить с цитатойцитата 

WCPU На мускуле - 182.28%
как раз показывает что мускуль кушает оба ядра
я на 8-ми ядерном сервере запускал thread-bench - показало 800% WCPU! ))

2
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/09/07 в 18:50       Ответить с цитатойцитата 

Dantist писал:

В ДЦ не ставят линух... icon_sad.gif
Из ОС - CentOS, FreeBSD, OpenBSD, Fedora Core, Debian Stable, NetBSD, Ubuntu Server Edition...


Ну как это не ставят ? icon_smile.gif Из твоего же списка : Fedora Core, Debian Stable.

Цитата:

А если про линух говорить - про какой речь?...


про любой.

2
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 20/09/07 в 19:10       Ответить с цитатойцитата 

libthr + SMP + FreeBSD 6.2 рулит (как Зуборг написал) icon_smile.gif

Ну и там еще в конфигах подправить thread_concurrency

2
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 20/09/07 в 20:26       Ответить с цитатойцитата 

Я щас ребутнусь... ))))
Думал в аську написать некоторым товарищам, да в профиле нет..
zuborg, если есть время проконсультировать - 15694zero736.. Буду безмерно благодарен ))
Поставил всем рейтингу, теперь по порядку...

zuborg писал:
стоит во первых обновить ОС до 6.2, а как только зарелизят 7.0 - то до 7.0

Zuborg, есть одна нерешенная трабла, которая поднялась тут: Настройка серверной части VPN.. (Роутинг траффика) ... Там в середине обсуждения всплывает то, что ядро собрать, оказывается проблематично, а именно в середине процесса "# make buildkernel" вылазит:
Код:

--------------------------------------------------------------
>>> stage 3.1: making dependencies
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/GENERIC; MAKEOBJDIRPREFIX=/usr/obj  MACHINE_ARCH=i386  MACHINE=i386 
CPUTYPE=  GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin  GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font 
GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac  _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:
/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin make KERNEL=kernel depend -DNO_MODULES_OBJ
machine -> /usr/src/sys/i386/include
cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding /usr/src/sys/i386/i386/genassym.c
cc1: error: unrecognized command line option "-Wno-pointer-sign"
*** Error code 1

Stop in /usr/obj/usr/src/sys/GENERIC.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
dantist#


И трабла так и не решилась... Был бы рад услышать (хотя бы там) и твое мнение по этому вопросу...

Далее..

zuborg писал:

WCPU На мускуле - 182.28%
как раз показывает что мускуль кушает оба ядра
я на 8-ми ядерном сервере запускал thread-bench - показало 800% WCPU! ))

М-м-м-... Так все ОК?..
1. Что дает в этом случае libthr?.. Возможность разбить потоки одного процесса по разным вычислительным ядрам?.. Дык выходит, если WCPU у одного mysql > 100%, то он уже разбит на несколько ядер...
2. Можно линку на thread-bench?.. Гугля не нашла, в портах тож нету..
3. linux_threads - /usr/ports/devel/libpthread-stubs/ - это оно?... :-/

xreload писал:
Ну как это не ставят ? icon_smile.gif Из твоего же списка : Fedora Core, Debian Stable.

Понял.. )))

Pentarh писал:

Ну и там еще в конфигах подправить thread_concurrency

Да стоит вроде ))) =4 )

Толковый программист ждет [не]больших заказов (:

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/09/07 в 20:33       Ответить с цитатойцитата 

Dantist: я надеюсь, ты ядро из под root-пользователя собираешь ? :-)
Ты бы это, на опеннет прошел, почитал , посоветовался, а не тут устраивал курсы молодого администратора.

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 20/09/07 в 21:04       Ответить с цитатойцитата 

xreload писал:
Dantist: я надеюсь, ты ядро из под root-пользователя собираешь ? :-)
Ты бы это, на опеннет прошел, почитал , посоветовался, а не тут устраивал курсы молодого администратора.

Из под рута, из под рута.... )))
Я по опеннет лажу так: google -> "мой вопрос site:opennet.ru"... Но там такого, что у меня при сборке ядра - нет...
Может реально спросить? smail11.gif

Толковый программист ждет [не]больших заказов (:

0
 



С нами с 08.05.06
Сообщения: 112
Рейтинг: 116

Ссылка на сообщениеДобавлено: 21/09/07 в 00:18       Ответить с цитатойцитата 

Dantist писал:
Сейчас поглядим с чем это едят... Пасиб!


В ДЦ не ставят линух... icon_sad.gif
Из ОС - CentOS, FreeBSD, OpenBSD, Fedora Core, Debian Stable, NetBSD, Ubuntu Server Edition...
А если про линух говорить - про какой речь?...


Себя? icon_smile.gif Понимаешь в чем дело, админ нужен, когда нифика не работает, или совсем не умеешь ничего ставить/настраивать, или времени нет и желания геморроем заниматься...
Хорошими Фрюшными Админами же не рождаются.. Ими становятся... С временем и опытом.. Я пока сам поэксперементирую.. ))


Нет, не себя. Я сам не админ и сейчас не вожусь даже с собственными дедиками ;) Просто есть пара людей , у которых можно проконсультироваться в случае внештатной ситуации. Это удобнее чем гуглить и общаться на форумах. Это кстати относится не только к администрированию, но и вообще ко всей работе. ;)

0
 



С нами с 01.02.07
Сообщения: 231
Рейтинг: 294

Ссылка на сообщениеДобавлено: 21/09/07 в 10:43       Ответить с цитатойцитата 

/home/ports/benchmarks/sysbench
# sysbench --test=threads --num-threads=4 run

5545 root 9 119 0 2948K 1260K CPU1 1 1:19 360.89% sysbench

Test execution summary:
total time: 34.0017s
total number of events: 10000
total time taken by event execution: 135.9657
per-request statistics:
min: 0.0084s
avg: 0.0136s
max: 0.0214s
approx. 95 percentile: 0.0143s

Threads fairness:
events (avg/stddev): 2500.0000/27.32
execution time (avg/stddev): 33.9914/0.00

это что касается бенча тредов

по libthr:
во фре есть несколько либ (3 стандартные, плюс можно из портов ставить), реализующих POSIX треды, все они очень разные, хотя в принципе все они очень интенсивно развиваются, так что разница может быть и совсем небольшой
надо тестить, в общем

на самом деле производительность mysql и postgresql на многоядерных cpu очень!! зависит от шедулера:
http://jeffr-tech.livejournal.com/
который в 7.0 очень превосходит шедулер в 6.2 и даже в linux (бенчи всех рассудят, когда зарелизят 7.0, не надо холиварить, если что :-)

такова селяви

а что касается проблем сборки: надежней всего удалить /usr/src (сохранив конф ядра) и собрать все с нуля стандартным системным компилером, если опять будут ошибки, значит проблема в /etc/make.conf

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »