Удаление папки /install/ - обязательно!

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

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

Quote:
Originally Posted by b0t View Post
Привет народ, подскажите пожалуйста хотябы примерное количество пользователей которых может быть на форуме одновременно с таким VPS:

1500Mhz
1500MB

ngnix

tcp сокеты 400
не tcp сокеты 200


Я примерно думаю 120 человек и форум будет работать нормально, все что больше уже начнет его перезагружать.
поаккуратней с ngnix.

при работе сайта с Ajax скриптами может нарушиться их функционирование, и придется код скриптов исправлять Вам.
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
b0t
На доске почёта
 
banned nax
Default 0

Пока все работает вплоть до нормальных IP. А в чем это проявляется?
 
Old  
zuka
Продвинутый
Default немного статистики 0

Сегодня провел небольшой тест. Включил дебаг в конфиге воблы.

$config['Misc']['debug'] = true;

Далее несколько раз прогружал главную страницу сайта с разной комбинацией модулей.
Модулей два eaccelerator и memcache (не забываем править конфиг воблы)

В дебаге было следующее... (среднее Page Generation/Memory Usage/Queries Executed)

Без модулей вообще:
(0.42s/10270Kb/22 запроса)

Только memcached:
(0.44s/10280Kb/21 запрос)

Только eaccelerator:
(0.31s/5290Kb/22 запроса)

Еaccelerator + memcache:
(0.35s/5360Kb/21 запрос)

по цифрам получается что без eaccelerator памяти жрется больше, время генерации страницы увеличивается, а использование memcached позволяет снизить количество запросов на один запрос (аналогично и на других страницах, главная форума, просмотры темы), отсюда вывод, всё чистое имхо - надо юзать оба модуля. А теперь вопрос к общестенности - прецеденты были, может какие-то грабли тут таятся, при использовании двух акселераторов?
 
Old  
Yoskaldyr
Специалист
Default 1

maJic, Еще один совет насчет xcache. Необходимо ставить размер опкод кеша немного завышенный. У хкеша есть проблема при нехватке кеша, начинаются серьезные притормаживания, особенно в пхп коде, активно использующем классы.
Как вариант если свободной памяти много то просто увеличиваем размер опкод кеша раза в 2 раза.
Для проверки смотрим стату хкеша через день (когда 100% отработали все крон скрипты), должно быть минимум 4 Мб в каждой из частей опкодкеша, если нет то увеличиваем еще и т.д.

Yoskaldyr добавил 11.08.2009 в 11:56
Quote:
Originally Posted by Time Keeper2 View Post
поаккуратней с ngnix.
при работе сайта с Ajax скриптами может нарушиться их функционирование, и придется код скриптов исправлять Вам.
Никаких проблем а нгинкс+ajax нет и переписывать ничего не надо. Главное правильно его готовить (nginx)

Yoskaldyr добавил 11.08.2009 в 12:05
Quote:
Originally Posted by b0t View Post
1500Mhz
1500MB
ngnix
tcp сокеты 400
не tcp сокеты 200
Чистый (средний по размеру) форум без глючных хаков легко выдержит до 2К онлайн, но при условии что не будет тормознутой дисковой системы у хардноды.
Также главное что-бы эти 1500Мб были все в оперативе, а то иногда хостеры любят в своп загонять вдс с такими параметрами и как результат (пример из личного опыта), все летает на более дешевом хостинге, перешел на более дорогой пакет- начались тормоза, после долгих выяснений отношений с хостером выяснилось что вдс постоянно свопилась, т.к. на хардноде просто не хватало оперативы. И пока не перенесли на другую хардноду, были тормоза (не всегда но все же не приятно)...

Yoskaldyr добавил 11.08.2009 в 12:07
Quote:
Originally Posted by intolerance View Post
eAccelerator. Очень быстрый, но не поддерживается разработчиками vbulletin. Есть отзывы, что с управлением памятью не все в порядке, возможен lock процессов и со временем наблюдается потеря производительности. На практике работает отлично, возможно. Лично пользуюсь в течение трех лет.
Просьба исправить в первом посте - уже поддерживается (с 3.7 точно, а если класс vB_Datastore_eAccelerator добавить в 3.6, то и там будет). Хотя в config.php упоминания о нем нет, но в файле class_datastore.php присутствует и все работает.

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

Quote:
Originally Posted by Yoskaldyr View Post
Никаких проблем а нгинкс+ajax нет и переписывать ничего не надо. Главное правильно его готовить (nginx)
На самом деле есть и проблемы принципиальные - nginx всегда полностью поглощает тело запроса и только потом передает дальше, поэтому ajax-загрузчики файлов не видят прогресс загрузки.
 
Old  
Yoskaldyr
Специалист
Default 0

Quote:
Originally Posted by netwind View Post
На самом деле есть и проблемы принципиальные - nginx всегда полностью поглощает тело запроса и только потом передает дальше, поэтому ajax-загрузчики файлов не видят прогресс загрузки.
Но речь же шла о vb, а с ним проблем нет
 
Old  
marso
Продвинутый
 
marso's Avatar
Default 0

Подскажите как подружить eaccelerator и PHP 5.3 ? (centos 5.3)
 
Old  
zuka
Продвинутый
Default 2

Quote:
Originally Posted by marso View Post
Подскажите как подружить eaccelerator и PHP 5.3 ? (centos 5.3)
http://valera.ws/2009.01.26~eaccelerator-debian-etch/
http://www.west-hoster.ru/likbez/ust...celerator.html
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 1

marso, насколько я понимаю, нужно выкачать новую и все еще тестируемую версию eaccelerator http://eaccelerator.net/wiki/Release-0.9.6-rc1. написано, что она совместима с php 5.3.
 
Old  
marso
Продвинутый
 
marso's Avatar
Thumbs up 0

Неплохой репозиторий. Правда для PHP 5.10, но все что нужно там есть.

Установка производится так:
1. Устанавливаем epel репозиторий.
Code:
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
2. Устанавливаем CentALT репозиторий.
Code:
rpm -ivh http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3. noarch. rpm
rpm -ivh http://centos.alt.ru/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm
Просмотреть список пакетов в репозитории можно здесь i386 и здесь x86_64

Данный репозиторий КОНФЛИКТУЕТ с BASE и EPEL.
 
 

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 08:11 PM.


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