htmlbook.ru - настольная книга администратора

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Loading

Go Back   форум vBSupport.org > > >
Register Изображения Меню vBsupport Files Manager Аллея Звёзд Реклама на форуме Search Today's Posts Mark Forums Read
  • Мемберка
  • Администраторам
  • Premoderation
  • For English speaking users
  • Изменения в правах
  • Каталог Фрилансеров
Пароли на скачивание файлов в Member Area меняются автоматически каждый день
Если вам нужно скачать какой то скрипт, за паролем ко мне в ЛС
привет какирам kerk
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Не можете скачать вложение?
Изменения в правах групп пользователей
внимательно читаем эту и эту темы
Короткая версия - тут
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

 
 
Old  
intolerance
Гуру
Post Производительность и оптимизация (apache/php/mysql/vb) 179

Тема обновлена 03.03.2009


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


Настройки vbulletin, обязательные для оптимизации

1. Тип поиска. Нужно использовать MySQL Fulltext, это намного быстрее родного поиска, кроме того, экономится размер БД (за счет удаления таблиц postindex и searchindex).
Admin CP -> vBulletin Options -> Search Type.
2. Метод хранения вложений. Хранить вложения нужно в файловой системе, это «быстрее», чем в БД. Критичный объем вложений для перехода на файловую систему примерно 200-350Mb.
Admin CP -> Attachments->Attachment Storage Type.
3. Метод хранения альбомов. Хранить альбомы нужно в файловой системе, это «быстрее», чем в БД.
Admin CP -> User Albums > Album Picture Storage Type.
4. Метод хранения аватаров и фотографий в профайле. Хранить аватары и фотографии нужно в файловой системе, это «быстрее», чем в БД.
Admin CP -> Avatars> User Picture Storage Type.
5. Обновление счетчика просмотра темы немедленно – Нет.
6. Обновление счетчика просмотра вложений немедленно – Нет.
7. Хранить таблицы стилей CSS в файлах – Да.
8. Срок хранения кэшированных сообщений (в днях) – 30-90.


10. Разрешить дублирование вложенных изображений – Да, на проверку дублей уходит время и ресурсы.
11. Автоматический поиск похожих тем – Нет.
12. Показывать пользователей, просматривающих разделы – Нет/В разброс для участников.
13. Показывать, кто просматривает тему – Нет/В разброс для участников.
14. Макс. сообщений на страницу – около 10-и.
15. Варианты макс. сообщений на страницу – 5,10,15.
16. Отображать вошедших пользователей – Если в алфавитном порядке, то нагружает БД.


Это минимум настроек VB, на которые требуется обратить внимание в первую очередь.

Отдельно следует оградить разделы и модули форума, не предназначенные для поисковых спайдеров. Создайте файл robots.txt в корневой директории public_html примерно следующего содержания:
Code:
User-agent: *
Disallow: /forums/clientscript/
Disallow: /forums/cpstyles/
Disallow: /forums/customavatars/
Disallow: /forums/customprofilepics/
Disallow: /forums/images/
Disallow: /forums/modcp/
Disallow: /forums/ajax.php
Disallow: /forums/attachment.php
Disallow: /forums/calendar.php
Disallow: /forums/cron.php
Disallow: /forums/editpost.php
Disallow: /forums/global.php
Disallow: /forums/image.php
Disallow: /forums/inlinemod.php
Disallow: /forums/joinrequests.php
Disallow: /forums/login.php
Disallow: /forums/member.php
Disallow: /forums/memberlist.php
Disallow: /forums/misc.php
Disallow: /forums/moderator.php
Disallow: /forums/newattachment.php
Disallow: /forums/newreply.php
Disallow: /forums/newthread.php
Disallow: /forums/online.php
Disallow: /forums/poll.php
Disallow: /forums/postings.php
Disallow: /forums/printthread.php
Disallow: /forums/private.php
Disallow: /forums/profile.php
Disallow: /forums/register.php
Disallow: /forums/report.php
Disallow: /forums/reputation.php
Disallow: /forums/search.php
Disallow: /forums/sendmessage.php
Disallow: /forums/showgroups.php
Disallow: /forums/subscription.php
Disallow: /forums/threadrate.php
Disallow: /forums/usercp.php
Disallow: /forums/usernote.php

Apache, PHP, APC, eAccelerator, Xcache, Memcached.

Этот раздел подразумевает, что вы имеете полный доступ к серверу, т.е. можете устанавливать приложения, модифицировать конфигурационные файлы и перезапускать приложения. Для большинства пользователей дешевых тарифных планов хостинга этот раздел будет бесполезен (за исключением некоторых настроек, в в случае предустановленного хостером кешера).

Выбор кешера. Этот шаг нужен для ускорения выполнения PHP кода, и, возможно, кеширования запросов к БД.

Vbulletin поддерживает несколько типов кеширования: Filecache, APC, XCache и Memcached (файл config.php). Краткий обзор:

eAccelerator. Очень быстрый, но не поддерживается разработчиками vbulletin. Есть отзывы, что с управлением памятью не все в порядке, возможен lock процессов и со временем наблюдается потеря производительности. На практике работает отлично, возможно. Лично пользуюсь в течение трех лет.

APC. Гибко настраивается, входит в состав PECL, поддерживается разработчиками. На практике медленнее eAccelerator и XCache.

XCache
. Динамично развивается, быстрый, информативный административный интерфейс, удобно настраиваемый, есть интерфейс для работы в составе Zend_Framework, высокая стабильность, поддерживается разработчиками. Медленнее, чем eAccelerator.

Memcache. Настроек нет, настройки вынесены в отдельный демон Memcached. В силу этого проигрывает в скорости, но может иметь несколько кеширующих демонов на разных серверах. При наличии распределенных ресурсов (или когда БД расположена на отдельном сервере) можно построить очень сбалансированную и устойчивую систему.

Оптимальным для одного сервера будет использование eAccelerator или XCache. Если БД расположена на отдельном сервере, то eAccelerator или XCache для PHP и Memcached на сервере БД.

Плагины, модификации, хаки

Предельно осторожно используйте дополнительные расширения и продукты, особенно те, которые каким-либо образом дополнительно выводят (модифицируют) информацию на главную страницу. Обязательно проверяйте, сколько запросов делает расширение – сравнивайте количество запросов до/после установки, смотрите исходники плагинов и читайте документацию разработчиков. Чем больше установлено дополнений, тем медленнее работает форум. Оптимально, на главной странице не должно быть более 10-12-ти запросов.

Выбор и оптимизация платформы

В качестве основы для развертывания своего сервера лучше всего подойдет Unix/Linux. Дистрибутивы и комплексные инсталляции по типу все-в-одном для Windows значительно медленнее своих старших Unix собратьев. Не рекомендуется использовать платформу Windows для нагруженного сервера, но вполне правильно использовать Windows для параллельных экспериментов с форумом, тестирования разработок, проверок хаков на стабильность, и т.д.

Можно рекомендовать к выбору Linux (CentOS, Ubuntu, Gentoo, Slackware и др.) и различные дистрибутивы BSD, на которых можно добиться хорошей производительности. Следует отметить, что MySQL в общем случае быстрее на Linux нежели на FreeBSD. В общем случае использование Linux предпочтительнее, но в частном (при достаточном опыте) использование FreeBSD может дать несколько важных преимуществ.

Следует заранее подумать о проблемах дискового ввода-вывода. Помните, что swap, место_где_расположена_база, место_где_расположен_wwwroot должны по возможности быть на разных физических дисках. Другими словами, система должна иметь максимально быстрый доступ для всех часто используемых данных. Использование SCSI предпочтительнее, чем SATA/IDE. Особого внимания заслуживает тема выделения оперативной памяти под размещение часто используемых файлов и приложений.
При большой нагрузке может оказаться, что пользователи получат отказ даже при заведомо выставленных правильно параметрах max_connections и back_log в mysql. Дело в том, что существует еще ограничение дескрипторов файлов и процессов в Unix. В разных системах решение разное, возможно потребуется пересборка ядра или подгрузка соответствующих модулей.

Желательно, не нагружать сервер дополнительными задачами, минимально использовать сервисы и перекладывать все дополнительные задачи на другие ресурсы. Текущие версии vbulletin позволяют использовать технологию slave/master, это может быть база на физически другой машине, или локальная – для страховки. Для очень загруженных проектов следует разделить нагрузку между несколькими серверами. Например, один выделить для отдачи статического контента, другой для динамического, третий – для базы данных.


Архив: оптимизация настроек на примере движка 3.6.x/3.7.x
Code:
Ниже представлен перечень опций и настроек, которые замедляют работу форума. При возникновении проблем с производительностью на них следует обратить внимание в первую очередь. Приоритет выставлен субъективно, по своему опыту. Использован перевод от zCarot.

1. Ключевые слова META, текст авторских прав и название форума не должны быть очень большими. Даже если это не сильно загрузит страницу, это загружает глаза посетителей. (Приоритет: низкий)
2. Использовать меню быстрого перехода – Нет. Экономит код, размер страницы. (Приоритет: низкий)
3. Ссылок на номера страниц – 5-10. 
(Приоритет: низкий)
4. Относительные переходы для навигатора по страницам – 5-10. 
(Приоритет: низкий)
5. Включить маски доступа. Если вы не используете различные права и маски доступа для разных разделов, то выключите. В ранних линейках эта опция очень сильно влияла на производительность, сейчас влияние менее заметно, но существенно для больших (много разделов и пользователей) форумов.  
(Приоритет: средний)
6. Добавление названий шаблонов в комментарии HTML – Нет. Используйте опцию только на момент отладки шаблонов, это лишний код, пробелы, переносы строк. (Приоритет: низкий)
7. Тип пометки тем/разделов как прочитанных - Не активность/cookie. 
(Приоритет: низкий)
8. Выключение функций AJAX – Все функции включить. У хорошему привыкаешь быстро.
(Приоритет: средний)
9. Библиотека обработки изображений – GD (IM заметно медленнее). 
(Приоритет: средний)
10. Вывод в формате GZIP HTML. Запущен ли apache c модулем mod_gzip? Если да, то отключаем GZIP HTML Output. Соответственно параметр «степень сжатия GZIP» не нужен. 
Выяснить ситуацию с gzip можно по статусу apache в phpinfo, например по строке Apache/1.3.37 (Unix) mod_gzip/1.3.26.1a PHP/4.4.4. 
Если у вас проблема с производительностью и нет проблем с трафиком, то не используйте gzip вообще. 
(Приоритет: высокий)
11. Добавлять стандартные HTTP заголовки – Нет.
(Приоритет: низкий) 
12. Добавлять в HTTP заголовки "No-Cache" –  Нет (лучше дописать свой вариант No-Cache в headerinclude).
(Приоритет: низкий)
13. Удалить страницы сообщений о перенаправлении – Да.
(Приоритет: низкий)
14. Обновлять счетчик просмотра темы немедленно – Нет.
(Приоритет: средний)
15. Обновлять счетчик просмотра вложений немедленно – Нет. 
(Приоритет: средний)
16. Дублировать информацию индекса поиска в копии темы - Нет. 
(Приоритет: средний)
17. Хранить таблицы стилей CSS в файлах - Да.
(Приоритет: низкий)
18. Показывать иконки программ быстрых сообщений - Нет. 
(Приоритет: низкий)
19. Включить авто-цензора  - Нет.
(Приоритет: низкий)
20. Использовать почтовую очередь – Да, с блокировкой.
(Приоритет: средний)   
21. Количество email, отправляемых за один раз – 3-5.
(Приоритет: средний)
22. Быстрый ответ - Да, Нажатие не требуется (не древовидный режим).
(Приоритет: низкий)
23. Быстрое редактирование – Да.
(Приоритет: низкий)
24. Макс. длина сообщения – 2000-3000 символов.
(Приоритет: средний)
25. Разрешить динамические ссылки для тега [IMG] – Да.
(Приоритет: низкий)
26. Минимальное время между сообщениями – Пусть думают, прежде чем писать.
(Приоритет: низкий)
27. Включить управление форматированием сообщениями - Быстрый ответ и редактирование – только стандартная панель.
(Приоритет: средний)
28. Макс. вложений в сообщении и Загрузка вложений – В разумных пределах (1-3)
(Приоритет: низкий)
29. Разрешить дублировать вложенные изображения – Да, на проверку дублей уходит время и ресурсы.
(Приоритет: высокий)
30. Создание миниатюр изображений – Да, если позволяет, с границами и размерами.
(Приоритет: средний)
31. Размер миниатюр – Не более 100 пикселей.
(Приоритет: средний)
32. Мин. время между поисками - Пусть думают над запросом, прежде чем искать.
(Приоритет: низкий)
33. Найденных сообщений на страницу и Макс. количество результатов поиска - В разумных пределах, особенно на больших форумах.
(Приоритет: средний)
34. Автоматический поиск похожих тем – Нет.
(Приоритет: высокий)
35. Отображать вошедших пользователей – Если в алфавитном порядке, то нагружает очень значительно при большом количестве посетителей.
(Приоритет: высокий)
36. Глубина отображения подразделов - Главная страница/ Разделы форума/отображение подразделов – 2/3/1. При большой загрузке отключить вывод подразделов на главной странице.
(Приоритет: средний)
37. Отображать описание раздела в списке разделов (forumhome) – Нет, при условии, что названия разделов продуманы.
(Приоритет: низкий)
38. Отображать колонку модераторов – Нет.
(Приоритет: низкий)
39. Показывать пользователей, просматривающих разделы – Нет/В разброс для участников.
(Приоритет: средний)
40. Показывать, кто просматривает тему – Нет/В разброс для участников.
(Приоритет: средний)
41. Макс. сообщений на страницу – около 10-и.
(Приоритет: высокий)
42. Варианты Макс. сообщений на страницу – 5,10,15.
(Приоритет: высокий)
43. Проверять рейтинг темы – Нет.
(Приоритет: средний)
44. Проверять подписку на темы – Нет.
(Приоритет: средний)
45. Отображать похожие темы – Нет.
(Приоритет: средний)
46. Время обновления 'Кто на Форуме' – 0 или пара минут.
(Приоритет: средний)
47. Архив форума - Архивных тем на страницу - Количество сообщений на страницу при просмотре архива – в разумных пределах.
(Приоритет: низкий)
 
Old  
1001
Простоузер
Default 0

Quote:
Originally Posted by BellaMafia View Post
Господа, на CoreDuo, CoreQuad есть смысл использовать параметр thread_concurrency в настройках MySQL или это имеет смысл только для физических многопроцессорников?
оператвной 2гига
для LUNUX я для CoreDuo ставлю
thread_concurrency = 6

оператвной 2гига
для LUNUX для CoreQuad ставлю
thread_concurrency =12

правильный ли подход?

Last edited by 1001 : 10-24-2009 at 05:43 PM.
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
netwind
Гуру
 
netwind's Avatar
Default 2

Правильно пишут, что апгрейды mysql хотя и в целом могут что-то ускорить, но приложения приученные к одному поведению сервера, приходится переучивать.
В такую фингю и я вляпался c переходом на 5.1 У меня установлен vbadvanced и есть большие треды. на практике это выражается в ужасно большом времени при отправлении сообщений в большие темы.
Новый оптимизатор mysql 5.1 полагает, что ему выгодно использовать индекс post.dateline,
который создан для vbadvanced, на практике он зачастую сканирует вообще всю таблицу post
Лог медленных запросов показывает что весь индекс был считан:
# Query_time: 19.670711 Lock_time: 0.000065 Rows_sent: 1 Rows_examined: 8190085
SELECT postid FROM post WHERE threadid=XXXX ORDER BY dateline LIMIT 1

между тем explain показывает от силы 1511 (ну это он врет, тема действительно большая) и неправильный выбор индекса
Code:


mysql> explain SELECT postid FROM post WHERE threadid=12345 ORDER BY dateline LIMIT 1;
+----+-------------+-------+-------+---------------+----------+---------+------+------+-------------+
| id | select_type | table | type  | possible_keys | key      | key_len | ref  | rows | Extra       |
+----+-------------+-------+-------+---------------+----------+---------+------+------+-------------+
|  1 | SIMPLE      | post  | index | threadid      | dateline | 4       | NULL | 1511 | Using where |
+----+-------------+-------+-------+---------------+----------+---------+------+------+-------------+
Я немножко поигрался и поставил кое-где FORCE INDEX, но в целом дело гиблое - есть и куча других запросов с большими темами.
тестовый mysql 5.1.43 с такой же фигней.
Все очень похоже на баг http://bugs.mysql.com/bug.php?id=42094. за год никто закрывать его не торопится.
Думаю переехать обратно на 5.0.
Если вы не ставили vbadvanced или число постов в темах относительно небольшое - вас этот баг mysql 5.1 скорее не затронет.
Такие дела.
 
Old  
rolexxx4k
Простоузер
Default 0

Quote:
1. Тип поиска. Нужно использовать MySQL Fulltext, это намного быстрее родного поиска, кроме того, экономится размер БД (за счет удаления таблиц postindex и searchindex).
Нет такого у меня. Есть только стандартный Поиск по Базе данных. И всё. Как сделать? Что не так?
 
Old  
jammer
Продвинутый
Default 0

в пхпадмине
Table_locks_waited 316 k Количество запросов на блокировку таблицы, которые были удовлетворены только после определенного периода ожидания. Если значение велико и есть проблемы с производительностью, необходимо сначала оптимизировать свои запросы, а затем разбить свою таблицу (или таблицы) или использовать репликацию.

не многовато? в чём может быть причина?
 
Old  
NeverFold
Продвинутый
Default 0

Кстати, я бы предложил следующий Robots.txt

User-agent: *
Allow: /$
Allow: /blog.php?b=
Allow: /showthread.php?t=
Allow: /forumdisplay.php?f=
Allow: /attachment.php?
Allow: /blog.php?u=
Allow: /blog.php?do=list
Allow: /quotes.php
Disallow: /
 
Old  
hcir
Продвинутый
 
hcir's Avatar
Default 0

Quote:
Originally Posted by intolerance View Post
24. Макс. длина сообщения – 2000-3000 символов. (Приоритет: средний)
Прошу прокомментировать вот этот пункт из шапки. Насколько критично для линейки 3.6 (а также и для следующих)? Если установить, скажем, 20.000 символов. Таких сообщений предполагается немного, типичное сообщение гораздо меньше по объему, но иногда людям, бывает, надо запостить "простыню".
 
Old  
intolerance
Гуру
Default 0

hcir, сейчас можно сказать, что не критично. Много всего, что похлеще грузить будет есть.
 
Old  
theghost
Простоузер
Default 0

4. Метод хранения аватаров и фотографий в профайле. Хранить аватары и фотографии нужно в файловой системе, это «быстрее», чем в БД.
Admin CP -> Avatars> User Picture Storage Type.

ммм. у меня 3.8.0 - изображения в бд. опции смены нету...

Last edited by theghost : 09-26-2010 at 02:41 AM.
 
Old  
static
Простоузер
Default 0

Можно ли как-нибудь сделать, чтобы пользователи могли осуществлять поиск раз в 10 секунд, как в IPB например и есть ли смысл?
 
Old  
Север
Специалист
vBSponsor
 
Север's Avatar
Default 1

static, конечно, смысл есть.
Основные настройки
Основные настройки
Поиск сообщений
Минимальное время между поисками
 
 

Tags
производительность

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 07:18 AM.


Powered by vBulletin® Version 3.6.1
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.