Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Jack

Оптимизация базы данных MySQL

Рекомендованные сообщения

А мне не нужны большие базы данных, и головная боль с ними.

У меня ряд форумов с базами от 1 до 2Гб, головной боли с ними нет.

 

Возможно, но опять же если обновлять движок

Вам это не грозит. При изменение структуры движка, автоматического обновления не будет. И не автоматического тоже. Придется сравнивать все изменения и писать запросы вручную.

 

или делать бэкап, то куда проще сделать это с маленькой базой

При большом количестве пользователей и тем, совсем другие таблицы будут пухнуть. Системные таблицы затеряются и будут незаметны на общем объеме.

Поделиться сообщением


Ссылка на сообщение

Меня интересует только оптимизация этого монстра.

поставьте на пробу Битрикс (месяц можно бесплатно), например редакции "Стандарт" и поглядите что там есть. Тогда Вы поймете, что IPB по сравнению с ней - песочница. Базы Битрикс в принципе не сильно пухнут, но кеши... Это же ужас кокой то.. При 20 тыс сообщений за 2 недели кеш вырос до 600 мегабайт при посещаемости 30 посетителей в сутки и 10 активных пользователях!

 

Что же Вы так сильно беспокоитесь за какие-то 12 Мб? Ну пусть база "распухнет" до 50, 100 мегабайт, чего беспокоиться то? Кто Вас так настроил?

Честно, не на то что нужно тратите время.

Поделиться сообщением


Ссылка на сообщение

Всех приветствую :)

 

Сорри, что поднимаю старую тему, но вопрос актуальный.

 

В общем, такая ситуация - есть форум IPB, сейчас версия 3.0.5, ранее был 2.3.6, обновил год назад. Размер базы данных перевалил уже за 400 мегабайт и продолжает расти. Сейчас постоянные ошибки SQL - я так понимаю из-за размера. Пытался обновить до новой версии - не выходит. Видно дело в неоптимизированности БД. Кто что подскажет - буду признателен.

 

По теме интересует вот что. Таблицы логов только что почистил, но помимо этого остались не менее грузные таблицы:

 

ibf_content_cache_posts Обзор Структура Поиск Вставить Очистить Удалить 31,425 MyISAM utf8_general_ci 29.0 МБ

ibf_core_share_links_log Обзор Структура Поиск Вставить Очистить Удалить 52,282 MyISAM utf8_general_ci 11.4 МБ

ibf_inline_notifications Обзор Структура Поиск Вставить Очистить Удалить 50,316 MyISAM utf8_general_ci 61.9 МБ

ibf_skin_cache Обзор Структура Поиск Вставить Очистить Удалить 238 MyISAM utf8_general_ci 11.6 МБ 5.9 МБ

 

Интересно, насколько они необходимы. Notifications - я так понимаю это уведомления, удаление которых ничего не навредит?

Поделиться сообщением


Ссылка на сообщение

Размер базы данных перевалил уже за 400 мегабайт и продолжает расти.

А что она должна делать, уменьшатся? Конечно при живом форуме она будет расти, и чем больше активность тем быстрее она растет. На неактивном форуме бд может увеличится только за счет логов (поисковые боты, задачи).

 

Сейчас постоянные ошибки SQL - я так понимаю из-за размера.

Неправильно понимаете. SQL ошибки могут могут вывалится уже потому, что версия 3.0.5 была очень сырой. 400 МБ в мире БД это не размер. И да, почему бы сами логи ошибок не посмотреть и не заниматься гаданием?

 

ibf_content_cache_posts - кэши постов.

ibf_inline_notifications - нотификации. Теоретически можно очистить.

ibf_skin_cache - скины. Трогать нельзя.

Поделиться сообщением


Ссылка на сообщение

Вот примерно:

 

Error: 2013 - Lost connection to MySQL server during query

IP Address: 207.46.199.50 - /index.php?showtopic=804&st=2580&p=112091&

mySQL query error: SELECT pid,topic_id FROM ibf_posts WHERE topic_id=804 AND queued=0 ORDER BY pid asc LIMIT 2580,30

 

Error: 2013 - Lost connection to MySQL server during query

IP Address: 92.255.215.16 - /index.php

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mySQL query error: SELECT t.tid, t.title, t.posts, t.views, t.forum_id, p.topic_id, p.author_id, p.post, p.pid, p.author_id, p.post_date, p.topic_id, m.member_group_id, members_seo_name, m.members_display_name FROM ibf_topics t LEFT JOIN ibf_posts p ON ( t.tid=p.topic_id ) inner JOIN (select topic_id, max(post_date) as datapost from ibf_posts group by topic_id) as ultimopost on ultimopost.datapost = p.post_date LEFT JOIN ibf_members m ON ( m.member_id=p.author_id ) WHERE p.queued = 0 and t.approved = 1 and t.posts > 0 and t.forum_id in(113,24,365,362,490,31,36,47,222,5,14,352,6,66,903,19,22,380,20,77,79,210,228,21,991,25,266,537,27,35,262,29,56,158,159,32,86,150,48,51,299,55,57,54,339,236,353,300,50,301,302,303,728,157,333,446,1035,201,203,96,97,413,414,436,223,103,407,105,231,605,116,117,118,216,108,964,115,420,107,205,106,126,1021,1022,1023,1024,1025,127,802,820,803,809,250,264,665,666,667,668,220,212,168,2,130,911,912,913,214,215,790,794,795,914,341,928,176,381,360,182,183,336,191,192,193,194,200,267,257,202,204,775,206,1020,160,221,672,970,349,139,101,123,224,16,389,165,80,162,163,185,244,254,308,239,967,128,111,112,211,219,344,226,230,296,98,190,334,366,786,335,338,351,340,354,355,95,363,670,730,364,1005,981,4,38,1,13,26,58,53,28,37,403,399,91,110,172,692,598,525,601,600,408,517,409,761,777,695,1034,635,724,1014,518,1017,526,788,789,641,643,645,642,637,683,682,684,806,808,680,720,438,555,700,673,783,784,785,480,731,736,732,733,943,734,735,778,1018,1009,953,744,757,746,745,797,737,738,910,1019,814,831,759,796,791,792,793,800,805,933,942,954,1011,1012,1016,955,974,975,978,1015,988,990,979,980,982,997,995,1030,1006,927,1001,959,941,1007,1008,924,956,756,1013,481,246,457,603,243,877,916,1027,1038,1028,1029,1036) and t.forum_id in(867,408,29,700,737,524,933,997) ORDER BY p.post_date desc LIMIT 5

Error: 2002 - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

IP Address: 66.249.71.53 - /index.php?showuser=2885&f=481

Error: 2013 - Lost connection to MySQL server during query

IP Address: 31.192.105.100 - /index.php?&&unlockUserAgent=1

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mySQL query error: UPDATE ibf_members SET member_login_key_expire=1333689244 WHERE member_id=1886

 

И так далее... Если нужно - могу скинуть полный отчет об ошибках.

 

В общем, как вы считаете - это дело в самой версии IPB? Стоит ее обновить и ошибки исчезнут сами собой?

Поделиться сообщением


Ссылка на сообщение

Error: 2013 - Lost connection to MySQL server during query

Сводится к тому что сервер не тянет, не хватает ресурсов. Можете обновится, но если хостинг 3$, под ИПБ 3.1+ стоит задуматься о его смене/переходе на другой тарифный план.

Поделиться сообщением


Ссылка на сообщение

У вас собственный сервер? Если нет обратитесь к хостеру.

Поделиться сообщением


Ссылка на сообщение

Опять подниму т.к. вопрос по поводу skin_cache: Весит 27 метров, это нормальный размер или нет, установлено 1 скин помимо стандартных. Внутри вот такое:

	cache_id	int(10)			Нет	Нет	AUTO_INCREMENT	 	 	 	 	 	 	
cache_updated	int(10)			Нет	0		 	 	 	 	 	 	
cache_type	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_set_id	int(10)			Нет	0		 	 	 	 	 	 	
cache_key_1	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_value_1	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_key_2	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_value_2	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_value_3	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_content	mediumtext	utf8_general_ci		Нет	Нет		 	 	 	 	 	 	 
cache_key_3	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_key_4	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_value_4	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_key_5	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_value_5	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_key_6	varchar(200)	utf8_general_ci		Нет			 	 	 	 	 	 	 
cache_value_6	varchar(200)	utf8_general_ci		Нет	

Поделиться сообщением


Ссылка на сообщение

Это не внутри, это снаружи такое.) То есть это просто список полей. Весят же в основном данные. Но 27 метров - паталогия для этой таблицы, имхо.

dD49ekOw.png

Тоже 1 скин, помимо дефолтных.

Поделиться сообщением


Ссылка на сообщение

Странно... а как тогда её почистить? Через PHPmyadmin можно такое сделать?

 

посмотрел у меня записей в ней 1,127

Поделиться сообщением


Ссылка на сообщение

я так понял что надо залесть в папку skin_cache и удалить не нужные ID?

 

Глянул в папке две лишние папки ID0 ID19 но они мало весят, основную массу составляют файлы в корне лежащие settingEmpty? emailWrapper,ipsDriverError, ipsServerError. Чего за файлы такие и зачем они, знает кто?

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

я так понял что надо залесть в папку skin_cache и удалить не нужные ID?

 

Глянул в папке две лишние папки ID0 ID19 но они мало весят, основную массу составляют файлы в корне лежащие settingEmpty? emailWrapper,ipsDriverError, ipsServerError. Чего за файлы такие и зачем они, знает кто?

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

Поделиться сообщением


Ссылка на сообщение

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

Я являюсь администратором сервера :)

Поделиться сообщением


Ссылка на сообщение
06/21/12 17:12 (изменено)

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

Изменено пользователем Dmitriy427

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...