Владельцам 3.8.6: не поставили патч - потеряли форум!

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

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: 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  
Orfo
Знаток
Default 0

Quote:
Текущие версии vbulletin позволяют использовать технологию slave/master, это может быть база на физически другой машине, или локальная – для страховки. Для очень загруженных проектов следует разделить нагрузку между несколькими серверами. Например, один выделить для отдачи статического контента, другой для динамического, третий – для базы данных.
можете расписать подробнее ...
имеется linux (ubuntu 8.04 + LAMP) и база размером ~250 mb когда заплывает народ начинаеются тормоза ... ябы конечно попробовал перенести атачи в файловую систему но у меня стоит vbtt (торрент)...
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
netwind
Гуру
 
netwind's Avatar
Default 1

Думаю, остается удалить все аттачи .jpg и переходить на хак vb image hosting.
при этом разрешить аттачи в базе и только для файлов-торрентов и маленьких файлов типа zip.

В любом случае vb image hosting ВСЕГДА производительней системы аттачей. Это не обсуждается даже. Можно приклеить в первый пост.
Ну и, к сожалению, он не проверяет права доступа на картинки. Трекеру эта проверка и не нужна.
 
Old  
Orfo
Знаток
Default 0

netwind
Quote:
трекер на ПШП, а тем более совмещённый с форумом, бесполезно оптимизировать - это изначально тупиковая технология.
сам трекер то на xbt с php версией vbtt эта система не выдержит ... подскажите работоспособный трекер на который можно перенести пользователей с булки ...
p.s. щас перешёл на linux и меня это устраивает ... но рост базы продолжается а пользователей перевалило за 2,5 тысячи
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

AleksXP, а что вам не нравится dc++ ? ах, я забыл. не получится дрочить на рейтинги, банить и крутить баннеры.
 
Old  
Dimoks
Продвинутый
 
Dimoks's Avatar
Default 0

Send Internet Explorer 7 Compatibility Header

Sends an HTTP header that instructs Internet Explorer 8 to render pages as Internet Explorer 7 would do so, rather than enabling full standards-compliance mode, which may result in rendering problems for templates that have not been updated for IE8.

Да \ Нет ?

Что это за HTTP header кто знает?
 
Old  
zCarot
zМарковь
Хочет третью строчку =)
 
zCarot's Avatar
Default 0

Dimoks, если в IE8 расползаются таблицы форума, а в IE7 норм, то включив эту опцию можно забить на оптимизацию под 8ку
 
Old  
Foxch2
Простоузер
Default 0

народ подскажите

такую статистику снимаю с загруженности системы

фигня какая то творится - можно судить по последней строчке!

Хост АГАВА (знаю что отстой, но ... ) VPS сервак
вроде все под моим управлением! но с недавнего момента начало вылезать вот такое!

отсортировал в порядке возрастания нагрузки на проц

как с этим бороться
ID процесс % ЗП память время
3142 apache 0.88 13116 0:00 httpd
21687 apache 0.99 9484 0:00 httpd
3138 apache 1.23 13628 0:00 httpd
14173 apache 1.55 16616 0:00 httpd
17432 apache 1.71 0 0:00 httpd
30538 apache 2.00 9636 0:00 httpd
17418 apache 2.11 12676 0:00 httpd
7172 apache 2.23 13424 0:00 httpd
26169 apache 2.25 13608 0:00 httpd
20072 apache 2.28 15384 0:00 httpd
17433 apache 2.52 11876 0:00 httpd
27855 apache 2.55 13736 0:01 httpd
28546 apache 2.68 0 0:00 httpd
27859 apache 2.83 0 0:03 httpd
28289 mysql 2.88 24244 0:06 mysqld
25627 apache 3.01 12656 0:00 httpd
20073 apache 3.07 12412 0:00 httpd
21688 apache 3.19 13084 0:00 httpd
24095 apache 3.19 14848 0:01 httpd
17878 apache 3.23 13208 0:01 httpd
17434 apache 3.25 0 0:00 httpd
30168 apache 3.67 0 0:00 httpd
20175 apache 3.68 17984 0:04 httpd
7173 apache 3.75 13204 0:00 httpd
24088 apache 4.65 14468 0:00 httpd
24107 apache 6.34 13724 0:00 httpd
21686 apache 6.48 13608 0:00 httpd
32407 apache 99.99 11072 0:00 httpd

чтож это за запросы такие тяжелые которые так систему нагружают :(
вроде глобального ничего не делал давно! а вот вылезло! и почти неделю уже долбает - сервер перегружен - зайдите попозже!
пользователей в сутки зарегенных примерно 1000
просмотров по счетчику порядка 15000 в сутки :(

в момент такого пикового процесса на форуме может сидеть как 10 пользователей, так и 100!
как отследить по ID процесса что он обрабатывал

Foxch2 добавил 20.01.2009 в 14:08
19556 apache 10.42 15364 0:01 httpd
19511 apache 12.76 15276 0:02 httpd
21535 apache 13.24 13128 0:00 httpd
19509 apache 13.59 15980 0:02 httpd
19510 аpache 14.59 14716 0:02 httpd


другой сьем стата по апачу :(

Last edited by Foxch2 : 01-20-2009 at 03:11 PM. Reason: Добавлено сообщение
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

Foxch2, нужно включить /server-status в apache и ловить момент. там вы увидите pid и сопоставите.
 
Old  
Foxch2
Простоузер
Default 0

ID процесса это первый столбец

мне бы как нить выловить ту команду которая запускает этот процесс

нельзя ли как нить лог сваять, в котором бы отображалось

Вася пупкин нажал ссылку, пошли запросы такие то! запустился процесс такой то
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

Foxch2, Взять и выловить. Админ вам нужен.
 
 

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 02:26 PM.


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