У Вас не удалена папка /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  
intolerance
Гуру
Default 0

netwind, ага, когда решил попробовать в действии Memcached, то начались непонятки, сперва исчезла опция комментариев в журналах, будто я у группы ее отключил, затем несколько пользователей пожаловались на другие непонятки, с модулем загрузок. Возможно решение было на поверхности, но мне оно было не нужно, просто перевел обратно на eaccelerator. По скорости Memcached уступает.

З.Ы. не заметил, это было сотое сообщение здесь ^)
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
Nimda
Простоузер
Default 0

Поставил вчера xcache. o_0 форум как будто на локалке. Летает жестко.
 
Old  
StopWar
Простоузер
Default 0

на оф.сайте vb все "пищат" от Xcache и советуют настоятельно его ставить к линейке 3.6.x
 
Old  
diim
Знаток
 
diim's Avatar
Default 1

Нам удалось добиться максимальной производительности за счет перевода php с nginx + apache mod_php + eAccelerator на связку nginx + php-fastcgi + (xcache или eaccelerator, эфект один и тот же). Выиграли около 20% производительности.
Настройки MySQL так же оптимизировали.

Приведу секцию [mysqld] из нашего конфига:

Code:
[mysqld]
old_passwords = true # inserted by debconf
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking

default-character-set           = cp1251
character-set-server            = cp1251
max_connections                 = 60
skip-locking
key_buffer                      = 32M
max_allowed_packet              = 50M
net_buffer_length               = 16K

key_buffer                      = 256M
join_buffer_size                = 1M
read_buffer_size                = 1M
sort_buffer_size                = 2M
table_cache                     = 1800
thread_cache_size               = 384
wait_timeout                    = 7200
connect_timeout                 = 10
tmp_table_size                  = 64M
max_heap_table_size             = 64M
read_rnd_buffer_size            = 524288
bulk_insert_buffer_size         = 8M
query_cache_limit               = 4M
query_cache_size                = 32M
query_cache_type                = 1
query_prealloc_size             = 65536
query_alloc_block_size          = 131072

myisam_sort_buffer_size         = 64M
record_buffer                   = 16M

default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

skip-networking
query_cache_type        = 1
log_slow_queries        = /var/log/mysql/mysql-slow.log
log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
skip-bdb
skip-innodb

Last edited by diim : 03-09-2007 at 03:23 AM.
 
Old  
intolerance
Гуру
Default 0

diim, без информации о железе и среднем количестве посетителей online конфиг [mysqld] не информативен. Хотябы памяти сколько и какой процессор(ы).
 
Old  
MagaSoft
Продвинутый
Default 0

Господа, а если все зазендить?
Это скажется на скорости, нагрузке и т.д.?
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

MagaSoft, поидее там некий откомпилированный байт-код, чуть побыстрее будет.
Но раз уж ты об этом задумался, лучше использовать php-акселератор времени выполнения наподобие eaccelerator или xcache.
 
Old  
Malcolm Reed
Эксперт
 
Malcolm Reed's Avatar
Default 0

Quote:
Originally Posted by netwind View Post
оидее там некий откомпилированный байт-код, чуть побыстрее будет.
мб. Но вообще по моим личным наблюдениям многие обфускаторы не очень адекватно реагируют на скрипты с использованием eval'а (по крайней мере я других не видел). Если учесть что в булке евал'ов не мало, мне кажется что лучше вряд ли станет.
 
Old  
netwind
Гуру
 
netwind's Avatar
Default 0

Malcolm Reed, зенд это не обфускатор. ты про него почитай
 
Old  
Malcolm Reed
Эксперт
 
Malcolm Reed's Avatar
Default 0

netwind, в зенд оптимайзер входит обфускатор, если мне память не изменяет. Может и изменяет. =\
 
 

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 12:14 AM.


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