Задавайте вопросы, мы ответим
Вы не зашли.
В наличии OTRS.
Есть старый архивный сервер на который с промышленного сливаются тикиты.
Поднял новый архивный сервер.
Настроил OTRS и DB по аналогии со старым сервером.
При этом удручает производительность полнотекстового поиска.
-------------------------------------------------------------------------
Итак, старый сервер IBM eServer BladeCenter HS21.
Неактивен
Ну, это не полнотекстовый поиск, насколько я вижу, а полный скан таблицы.
И упираетесь Вы или в диск (если создается достаточно большая временная
табличка), или в процессор. Хотя, скорее таки в диск.
Предложить можно таки использовать полнотекстовый поиск (насколько я по-
нимаю, OTRS умеет отлично работать со sphinx). Ну или на худой конец — под-
нимите значения tmp_table_size и max_heap_table_size так, чтобы оно созда-
валось не на диске, а в памяти.
Неактивен
Выполняется все-таки полнотекстовый поиск. Так как в самой форме ОТРС поле в которое заносится значение так и называется полнотестовым - Fulltext-Search in Article (e. g. "Mar*in" or "Baue*") и ищу я по полю Text (поиск в заметках ко всем тикитам).
По поводу указанных вами параметров. Я выставлял еще до создания данной темы следующие значения:
max_heap_table_size=256M
tmp_table_size=256M
Ситуация не изменилась. Поэтому закоментировал эти параметры в конфиге.
-----------------------------------------------------------------------------------------
Итак попытка №2.
Запрос висит в состоянии:
Copying to tmp table
#iotop
Total DISK READ: 9.56 M/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
16693 be/4 mysql 9.55 M/s 0.00 B/s 0.00 % 90.53 % mysqld --basedir=/usr --datadir=/var/lib/mysql -~id --socket=/var/lib/mysql/mysql.sock --port=3306
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
Смущает, что нет записи на диск. Хотя временами проскакивает. Но очень редко и запись измеряется даже не в M/s, а K/s.
#top
top - 14:35:20 up 26 days, 2:00, 4 users, load average: 1.11, 0.72, 0.31
Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.5%us, 1.8%sy, 0.0%ni, 47.5%id, 43.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3111468k total, 3026696k used, 84772k free, 9480k buffers
Swap: 1048568k total, 4932k used, 1043636k free, 2280360k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14035 mysql 20 0 566m 451m 2584 S 15.9 14.9 191:11.29 mysqld
23086 root 20 0 14140 6772 2572 S 2.3 0.2 1:30.08 iotop
21430 root 20 0 11616 3428 2592 S 0.3 0.1 0:00.88 sshd
23076 root 20 0 2672 1140 868 R 0.3 0.0 0:07.12 top
1 root 21 1 2864 360 264 S 0.0 0.0 0:01.53 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.12 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.42 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.28 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.09 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0.0 0.0 0:21.74 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 0:00.33 watchdog/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.25 events/0
12 root 20 0 0 0 0 S 0.0 0.0 1:50.52 events/1
Тут меня смущает, что пользовательские приложения занимают лишь 7,5%.
При этом проц свободен на 47.5%id. Но при этом 43.3%wa - процент процессорного времени, потраченного на завершение ввода/вывода(IO)
Вот скорость выполнения запроса
4 | 905.51930400
А вот на чем он тормозит.
mysql> show profile for query 4;
+--------------------------------+------------+
| Status | Duration |
+--------------------------------+------------+
| starting | 0.000035 |
| checking query cache for query | 0.017446 |
| checking permissions | 0.000013 |
| checking permissions | 0.000003 |
| checking permissions | 0.000009 |
| Opening tables | 0.000028 |
| System lock | 0.000009 |
| Table lock | 0.000084 |
| init | 0.000309 |
| optimizing | 0.000094 |
| statistics | 0.013600 |
| preparing | 0.000235 |
| Creating tmp table | 0.000057 |
| executing | 0.000005 |
| Copying to tmp table | 905.453003 |
| Sorting result | 0.022623 |
| Sending data | 0.002443 |
| end | 0.000007 |
| removing tmp table | 0.000404 |
| end | 0.000007 |
| query end | 0.000004 |
| freeing items | 0.008828 |
| storing result in query cache | 0.000029 |
| logging slow query | 0.000003 |
| logging slow query | 0.000004 |
| cleaning up | 0.000022 |
+--------------------------------+------------+
26 rows in set (0.03 sec)
На что я намекаю? Мне кажется настолько катастрофическая производительность не из-за диска или проца.
Возможно в чем то еще проблема?
Дополнительная инфа.
БД занимает 25 Гб.
Таблицы
ticket - 1,2 Gb
queue - 400 Kb
article_search - 4,8 Gb
Инфа по ОС и ПО:
Старый сервер - Red Hat Enterprise Linux Server release 5.3 (Tikanga), mysql-server-5.0.45-7.el5
Новый сервер - CentOS release 6.2 (Final), mysql-server-5.1.52-1.el6_0.1.i686
---------------------------------------------------------------------------
Хотелось бы уточнить по поводу полнотекстового поиска с использованием Sphinx. Я так понимаю, что для интеграции ОТРС и сфинкс придется ОТРС обрабатывать напильником, то есть править код?
Неактивен
Я был уверен, что оно нативно поддерживается. Но, похоже, действительно нет
Ок, давайте вернемся к железным проблемам. У Вас система проводит половину
времени в random io по диску, а вы считаете, что диски тут не при чем. Почему?
P.S. Полнотекстовым поиском обычно называют поиск с использованием полнотекс-
тового индекса. У Вас же не используется, поэтому я бы его таким не считал.
Неактивен
Я так понимаю проблема вовсе не в mysql, а в дисковой подсистеме? Какие варианты решения проблемы? Заменить сервер, винты, или RAID контроллер? Есть какая-либо альтернатива?
Неактивен