PDA

Просмотр полной версии : Форум тормозит



Sb0y
06.09.2016, 23:24
Иногда бывает коннект с сервером подтупливает. Это сеть или апач задыхается?
Сейчас это не критично, но при растущих нагрузках будет адово.

vkrum
07.09.2016, 22:10
Скорей всего апач, вроде как тариф БИЗНЕС (https://www.ihor.ru/php) плюс пару сайтов. Но могу ошибаться.

Sb0y
07.09.2016, 22:14
Скорей всего апач, вроде как тариф БИЗНЕС (https://www.ihor.ru/php) плюс пару сайтов. Но могу ошибаться.

Могу посоветывать nginx. Более молодёжно, более быстро. Я умею его готовить.
Вот например bagrintsev.me на нём работает. При чём, я же раньше сам на apache2 сидел. Буквально 2 месяца назад, посмотрел, сколько он оперативки жрёт со всеми модулями и понял, что в сравнении с nginx он просто никакой.

А вот тут (https://buy.wosign.com/free/) раздают бесплатные серты на 3 годы, для https.

vkrum
07.09.2016, 22:27
для серта ип выделенный нужен, врядле для пшп хостинга его дадут, делал себе на www.startssl.com класс 1

- - - Добавлено - - -

bagrintsev.me : PHP->HTML: проверить атрибуты HTML тегов (априори, парсинг HTML) (https://bagrintsev.me/blog/check-html-tags-attributes-by-parsing-it)
это можно парсер сделать с торрент трекеров к себе на сайт,

Sb0y
07.09.2016, 23:09
для серта ип выделенный нужен, врядле для пшп хостинга его дадут, делал себе на www.startssl.com класс 1

Не совсем так. Для решения этой проблемы был придуман SNI (https://en.wikipedia.org/wiki/Server_Name_Indication).
Большинство современных браузеров его умеют, а всякие IE7-8 почти канули в лету.


класс 1

SSL Server Test: bagrintsev.me (Powered by Qualys SSL Labs) (https://www.ssllabs.com/ssltest/analyze.html?d=bagrintsev.me)

A+ дают за заголовок



Strict-Transport-Security "max-age=31536000; includeSubdomains;"


но тогда браузер будет пытаться на все поддомены ходить по https

- - - Добавлено - - -



bagrintsev.me : PHP->HTML: проверить атрибуты HTML тегов (априори, парсинг HTML) (https://bagrintsev.me/blog/check-html-tags-attributes-by-parsing-it)
это можно парсер сделать с торрент трекеров к себе на сайт,

Да, только надо много чего там подправить =)
Я был юн, мне нужны были деньги =)

Catlord Meow!
07.09.2016, 23:28
Не совсем так. Для решения этой проблемы был придуман SNI (https://en.wikipedia.org/wiki/Server_Name_Indication).
Большинство современных браузеров его умеют, а всякие IE7-8 почти канули в лету.

Под XP в SNI умеет только классическая Опера и Фокс. Ничего хромоподобное, ни IE сайт на SNI под XP не откроют, у меня была целая дисскусия по этому поводу:
[Новости] Opera меняет движок - Page 6 - Всё о браузерах - форум vBSupport.org (http://vbsupport.org/forum/showthread.php?t=46402&page=6)

И вообще, нам https вот прям заипись как нужен? Без него никак?

Могу посоветывать nginx. Более молодёжно, более быстро. Я умею его готовить.
Вот например bagrintsev.me на нём работает. При чём, я же раньше сам на apache2 сидел. Буквально 2 месяца назад, посмотрел, сколько он оперативки жрёт со всеми модулями и понял, что в сравнении с nginx он просто никакой.
Кэширование nginx кстати не работает с булкой:
[Вопрос] Переезд 3.8.4 с php 5.2 на 5.4 - Page 2 - Вопросы по vBulletin 3.8 - форум vBSupport.org (http://vbsupport.org/forum/showthread.php?t=52469&page=2)

Sb0y
07.09.2016, 23:50
Под XP в SNI умеет только классическая Опера и Фокс. Ничего хромоподобное, ни IE сайт на SNI под XP не откроют, у меня была целая дисскусия по этому поводу:
[Новости] Opera меняет движок - Page 6 - Всё о браузерах - форум vBSupport.org (http://vbsupport.org/forum/showthread.php?t=46402&page=6)

Да и бог с ними. От XP отмахнулись даже родители, система имеет ряд исторических анахронизмов. Те кто её используют -- сами себе злобные буратины.
Гораздо важнее, что всё работает на андроидах, айфонах и виндус фонах.



И вообще, нам https вот прям заипись как нужен? Без него никак?

Не мне решать, но таковы современные тенденции.



Кэширование nginx кстати не работает с булкой:
[Вопрос] Переезд 3.8.4 с php 5.2 на 5.4 - Page 2 - Вопросы по vBulletin 3.8 - форум vBSupport.org (http://vbsupport.org/forum/showthread.php?t=52469&page=2)
Как это понимать? Nginx парсит приходящий урл, смотрит на расширение файла. В зависимости от совпадений по всей строке, или по под строке, определятся location-обработчик.
Это может быть и FastCGI сервер FPM для *.php, а может и


location ~* \.(js|css|png|jpg|jpeg|gif|ico|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|7z|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|midi|wav|bmp|rtf)$ {
access_log off;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
expires max;
open_file_cache_valid 120m;
}


Даже если булка отдаёт свою статику через php-скрипт, который читает диск и с заголовком транслирует браузеру (oh god, why) -- решить это всё равно можно.

Catlord Meow!
08.09.2016, 00:02
Да и бог с ними. От XP отмахнулись даже родители, система имеет ряд исторических анахронизмов. Те кто её используют -- сами себе злобные буратины.
Гораздо важнее, что всё работает на андроидах, айфонах и виндус фонах.
Многие (включая меня) всё ещё вполне используют XP =)

Не мне решать, но таковы современные тенденции.
Это не ответ на вопрос "зачем нам https?".

Как это понимать?
Без понятия, но так написано в той теме.

Даже если булка отдаёт свою статику через php-скрипт, который читает диск и с заголовком транслирует браузеру (oh god, why) -- решить это всё равно можно.
Да, статика -- аватары, вложения -- отдавалась через скрипты и хранилась в БД.
Я, правда, это отключил и переместил аватары в файловую систему, но на вбсаппорте говорится, что проблемы будут и со страницами, включая залогинивание под чужими никами.
Кэширование nginx нам полюбас не светит)

vkrum
08.09.2016, 00:04
Sb0y
Идею с SNI уловил. У меня frontend, придётся помозговать чуть.

Sb0y
08.09.2016, 00:10
Да, статика -- аватары, вложения -- отдавалась через скрипты и хранилась в БД.
Я, правда, это отключил и переместил аватары в файловую систему, но на вбсаппорте говорится, что проблемы будут и со страницами, включая залогинивание под чужими никами.
Кэширование nginx нам полюбас не светит)
Картинки в БД? В MySQL? Очуметь.
Более крутого способа испортить реляционную БД, кажется ещё не было.

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

P.S.
С авторизацией не всё хорошо и сейчас. Иногда бывает, когда я пишу сообщение, моя сессия протухает :(

Catlord Meow!
08.09.2016, 00:16
Картинки в БД? В MySQL? Очуметь.
Более крутого способа испортить реляционную БД, кажется ещё не было.
Ну для аватаров мб это и не нужно (но удобство бэкапов!), а вот для вложений многим это необходимо в обязательном порядке -- ведь не на всех форумах кому угодно раздают права качать вложения, на том же вбсуппорте разлапистая система -- кто может качать, а кто нет, да ещё самописные аддоны ("Файловый архив").
А сколько людей морочиться с хайдами...


С авторизацией не всё хорошо и сейчас. Иногда бывает, когда я пишу сообщение, моя сессия протухает :(
Сессия? А куки? Просто поставь галочку "запомнить меня".
Ещё ты можешь привязать свой профиль к акку вконтаче (функция в стадии разработки :D )

Sb0y
08.09.2016, 00:33
включая залогинивание под чужими никами.
Кэширование nginx нам полюбас не светит)


Вот этого точно не будет. Мы говорим о кешировании статики, а не о кешировании HTTP ответов.
Для HTTP сервера, есть разница между php скриптом и картинкой и js файлами и т.п.
Первое -- он отдаёт интерпритатору, а тот выполняет как программу. Всё остальное -- он передаёт по сети, как обычный набор байтов (ему всё равно, что это в итоге за файл).
Кеширование nginx заключается в том, что если файл не изменился, его нет смысла читать каждый раз с диска, потому, что это долго.
Такие файлы оптимально хранить в оперативной памяти.

- - - Добавлено - - -

Хорошо, когда удобно. Но когда тормозит база, потому, что в ней хранят, то, для чего она не предназначена, все удобства меркнут.
А тормоза обязательно будут, на больших объемах данных. Суть реляционки в поиске соотношений, а значит она должна пробегаться по данным (тяжёлым картинкам).

- - - Добавлено - - -

Вся суть в том, что когда мы запрашиваем страницу у сервера, мы делаем не один запрос, а 10-20.
Вот как например сейчас:
/showthread.php возвращает текст с HTML разметкой, который ссылается на JS, CSS и файлы картинок.
Ради каждой такой картинки, браузер делает, ОТДЕЛЬНЫЙ HTTP запрос, который даже не вовлекает файлы скрипта.

vkrum
08.09.2016, 00:59
Кэширование запросов в MySQL - статья на webew.ru (http://webew.ru/articles/1041.webew) не то, и не надо будет ничего переносить.
не проще оптимизировать бд под булку?

Sb0y
08.09.2016, 01:26
Кэширование запросов в MySQL - статья на webew.ru (http://webew.ru/articles/1041.webew) не то, и не надо будет ничего переносить.
не проще оптимизировать бд под булку?

Это не то. Формально, этот механимз включён всегда, а в статье рассказывают, как его оптимизировать под себя. Когда мы запрашиваем /showthread.php, после N количества вызовов оператора include, PHP идёт в MySQL через unix или inet сокет в базу. И дело в том, что MySQL тоже писали не дураки и понимали, что каждый раз читать данные с диска, когда их запрашивают каждые 3 секунды -- дорого.
Насколько я помню, движок InnoDB все PRIMARY INDEX хранит в ОЗУ всегда.

Но это не имеет отношения к стартовой проблеме, так как тупит именно HTTP сервер. Да и от кривого использования базы, этот механизм тоже не спасёт, потому как, я говорил ранее -- реляционная база проектируется, чтобы данные хранились связанными. И вот эти связи, они как якорь при поиске.

Если так уж хочется хранить картинки в бд, то брать нужно key-value storage.

- - - Добавлено - - -



Судя по всему - это fastcgi_cache/proxy_cache в nginx. Нужно лечить, точнее отключать - штатно булка работать с ним не умеет, нужно дописывать модули к булке. Хотя не сложно.


Кстати на форуме говорят про 3ю версию булки и про проксирование. Судя по всему, чуваки прячут апач за нжиниксом. Это популярный способ, но при наличии FPM, это как есть через жопу.

vkrum
08.09.2016, 01:33
Кстати на форуме говорят про 3ю версию булки и про проксирование. Судя по всему, чуваки прячут апач за нжиниксом. Это популярный способ, но при наличии FPM, это как есть через жопу.

proxy_cache как раз для связки Nginx+Apache

Sb0y
08.09.2016, 01:35
proxy_cache как раз для связки Nginx+Apache

И я об этом же. Но это не правильный путь. Апач не перестанет быть тормознутым монстром, если спрячется за спину nginx.

vkrum
08.09.2016, 01:45
И я об этом же. Но это не правильный путь. Апач не перестанет быть тормознутым монстром, если спрячется за спину nginx.
В основном все движки пишкться для Апача, для nginx нужны определённые настройки и знания.
Какой двиг был у дспортала?

Sb0y
08.09.2016, 01:52
В основном все движки пишкться для Апача, для nginx нужны определённые настройки и знания.
Какой двиг был у дспортала?

Тут ты не прав. Пишется для пользователей, на PHP. Сервер, реализующий HTTP стандарт может быть любой.
Какой двиг -- не знаю. Вроде самописный. Но сервер был nginx, а за ним apache. Тогда ещё не было FPM.

vkrum
08.09.2016, 02:02
продолжение SNI
стоит nginx-devel что добавить в nginx.conf для проксирования, и так чтоб на апаче SNI разруливать в httpd-vhosts.conf. или так неправильно?

Catlord Meow!
08.09.2016, 02:22
Вот этого точно не будет. Мы говорим о кешировании статики, а не о кешировании HTTP ответов.
Ну если так, то видимо норм... вот только я не думаю, что тормоза, про которые ты говоришь, как-то связаны со статикой -- у нас из статики только аватары да js, и те файлах.
Вложения отключены.
CSS в БД, ну да четвёрка всё равно со стилями в файлах работает криво =)

Что до меня, то я не наблюдаю никаких тормозов... то есть нет, конечно тормозит, и тормозит постоянно, вот только это у меня тормозит -- у мну галимые интернеты, и я никак не могу отличить слоупочность серверов от слоупочности своих интернетов =)
Но лично у меня совсерв всё же работает быстрее большинства других сайтов.

Переезжать куда-то или нет, будет решать Реалист, теперь он -- наш новый Чебураниум :).
Лично меня вполне устраивает сегодняшнее положение.

Хорошо, когда удобно. Но когда тормозит база, потому, что в ней хранят, то, для чего она не предназначена, все удобства меркнут.
А тормоза обязательно будут, на больших объемах данных. Суть реляционки в поиске соотношений, а значит она должна пробегаться по данным (тяжёлым картинкам).
А мои слова про разные права для разных юзеров ты решил специально проигнорировать? :)
На вбсаппорте и куче других форумов, которые хранят вложения и аватары в БД ничего не тормозит.

Повторюсь, лично мы больше не храним юзерпики в БД, а вложений, в силу маленького количества места на хостинге, нет.

Если так уж хочется хранить картинки в бд, то брать нужно key-value storage.
Расскажи это разработчикам vBulletin =)

Sb0y
13.09.2016, 11:41
Ну если так, то видимо норм... вот только я не думаю, что тормоза, про которые ты говоришь, как-то связаны со статикой -- у нас из статики только аватары да js, и те файлах.
Вложения отключены.
CSS в БД, ну да четвёрка всё равно со стилями в файлах работает криво =)

А я и не говорил, что из-за статики. Хотя это как посмотреть. Проблема в мультиплексировании сокетов внутри воркеров апача. Ему то ли сокетов не хватает открытых, то ли памяти, чтобы держать контексты для тех же самых воркеров.
Апач очень тяжёлый сервис и поручать ему отдачу тектсовых файлов -- расточительно.



А мои слова про разные права для разных юзеров ты решил специально проигнорировать? :)

Проигнорировал, потому, что это тоже самое. HTTP сервер не вмешивается в логику приложения. А приложение на своём уровне должно решать, кешировать или нет.
Если ты не разработчик vBulletin, а админ -- о кешировании ты думать не должен.

Catlord Meow!
13.09.2016, 13:32
А я и не говорил, что из-за статики. Хотя это как посмотреть. Проблема в мультиплексировании сокетов внутри воркеров апача. Ему то ли сокетов не хватает открытых, то ли памяти, чтобы держать контексты для тех же самых воркеров.
Апач очень тяжёлый сервис и поручать ему отдачу тектсовых файлов -- расточительно.
Что значит "как посмотреть"?
У нас довольно большой и тяжёлый набор скриптов (vBulletin), и почти нет статики, только аватары, немного картинок оформления и js.
Причём вся статика отдаётся один раз, и потом спокойно лежит себе в кзше браузера.
Если какие-то тормоза и есть, то они, скорее всего, связаны с любыми другими причинами, но не с статическим контентом. По крайней мере, логично рассуждать именно так.

В любом случае, тут у нас php-хостинг, и врядли кто-то будет устанавливать nginx...

Проигнорировал, потому, что это тоже самое. HTTP сервер не вмешивается в логику приложения. А приложение на своём уровне должно решать, кешировать или нет.
Если ты не разработчик vBulletin, а админ -- о кешировании ты думать не должен.
Причём тут это?
Я объяснял, почему разработчики vBulletin приняли решение хранить вложения по выбору админа, в БД или в ФС, а не только в ФС -- каждый метод имеет свои достоинства и недостатки.
Говорить, что это означает "испортить" реляционную БД -- всё же чересчур)).

Sb0y
13.09.2016, 14:02
Что значит "как посмотреть"?
У нас довольно большой и тяжёлый набор скриптов (vBulletin), и почти нет статики, только аватары, немного картинок оформления и js.
Причём вся статика отдаётся один раз, и потом спокойно лежит себе в кзше браузера.
Если какие-то тормоза и есть, то они, скорее всего, связаны с любыми другими причинами, но не с статическим контентом. По крайней мере, логично рассуждать именно так.

Это значит, что нужно разделять вещи, которые выполняются на сервере и те которые нужны клиенту.
Проблемы у вас именно на уровне сети, на моменте соединения клиента с сервером. Случаются простои связанные с настройками HTTP сервера.



В любом случае, тут у нас php-хостинг, и врядли кто-то будет устанавливать nginx...

Странный PHP хостинг, потому, что его как раз и ставят, как минимум как прокси для апача. По той же самой причине -- дорогое мультиплексирование INET сокетов.



Причём тут это?
Я объяснял, почему разработчики vBulletin приняли решение хранить вложения по выбору админа, в БД или в ФС, а не только в ФС -- каждый метод имеет свои достоинства и недостатки.
Говорить, что это означает "испортить" реляционную БД -- всё же чересчур)).
Это уже флейм. А ещё ты можешь выстрелить себе в ногу и по идее это твой выбор.

Alphanef
14.10.2018, 16:20
Мне подсказали, что сейчас тут общаются те, с кем раньше на другом форуме были. Пришла, понравилось

Real1st
14.10.2018, 22:23
Мне подсказали, что сейчас тут общаются те, с кем раньше на другом форуме были. Пришла, понравилось
откуда пришли?) проходите гости дорогие

Alphanef
16.10.2018, 11:15
У меня такая же ситуация, но я просто жму на стоп и обновляю страницу. Так вроде бы все нормально.