Aisamiery

Aisamiery
Рейтинг
324
Регистрация
12.04.2015
lutskboy #:
логично что по ID быстрее чем по varchar. на практике хз. нужно тестить

Чем логичнее? =) То что знаков больше? Так по вашему ID 10000000 будет искаться дольше чем строка address

Ключи в БД не выглядят как их значения, то что вы видите цифру 1 ключ это не цифра 1 =))

Владимир #:
лол, наверное на озоне, вайлдбериз, яндекс маркете с сотней миллионов товаров дураки работают, раз используют псевдо ЧПУ, выборку по числовому идентификатору, так?

Ну вы же наверняка в валдбериез и яндекс маркете архитектором работаете, ведь так? =)))

Я конечно не работаю там, но предполагаю, что используют это для такой штуки как шардинг. Так как базу данных сложно масштабировать горизонтально, то принимают решение, что например ID товаров с 1 до 1кк мы храним на сервере А, а с 1кк до 2кк на сервере Б, без ID в урле это действительно сложно делать. Вы если мне не верите, можете сделать табличку на 2 поля, число по праймари и varchar на пусть 100 символов с индексом желательно уникальным и запустить тест выборки по полям. Я это все к чему, я работаю на проектах подобных что вы озвучили, и мы, например, используем как ключи uuid, а не числа.

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


tarkas777 :
Где можно посмотреть как их делать

Я думаю можно начать от сюда https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html

livetv #:
SPA сложнее.

Что там сложного? Уже напилили полную коробочку инструментов. Разделять фронт и бэк сейчас сильно проще.

frerf10 :
Заменят SPA приложение полностью MPA сайты?

Вопрос мне кажется не совсем правильный.

Cuys #:
Если нагрузка более 1 млн в сутки, только самопис.

Нагрузка на статичный контент? Это шутка?

Виктор Горняков #:
Laravel или самопис + сервер нормальный (виртуалка для начала) от 8 ОЗУ, и 4 или 8 ядер

Почему ларавел? Почему вообще php или в чем разница php laravel или php wordpress? Laravel заставит написать вас просто все ручками дав набор инструментов, но никто не запрещает так же ручками написать и в wordpress, просто то что это laravel это не значит что ручками напишут нормально =)))

Виктор Горняков #:
Даже если и перевести на ПОСТГРЕСС, для ускорения

В чем будет ускорение на примерах от PerconaDB (fork mysql) или даже mysql8?

yandrey #:
Для нагрузки, если считать нагрузкой десятки-сотни запросов в секунду, вряд ли существует готовая CMS

С сотней запросов в секунду в целом я думаю справится любая CMS на выделенном сервере, у нас битрикс тянет больше 2500 запросов в секунду и это интернет магазин, а не статический контент =))

Владимир #:
для минимизации нагрузки на базу, новости должны работать через псевдо ЧПУ, то есть выгребаться они должны по идентификатору, но в адресе могут быть также человекопонятные фразы, например site.com/4321-Novost.html, то есть новость будет выгребаться из базы не по текстовому ключу, а по идентификатору 4321

От куда вы эту ерунду берете? Для того чтобы быстро работал нормальный ЧПУ надо на него повесить индекс, разница от числа будет только в размерах этого индекса на жестком диске так как число занимает меньше байт.

krock :
Другой вопрос - нагрузка в плане посещаемости и количества материалов. Может, у кого-то есть опыт, что бывает с CMS, когда там находятся сотни тысяч материалов, и столько же пользователей, тысячи из которых заходят каждый день

По своему опыту работы в хайлоад проектах могу сказать что профиль нагрузки разный на разных проектах и не бывает чтобы CMS или работала или не работала, есть какие то участки где алгоритм не оптимален или делается больше запросов или запрос тяжелый и так далее, то есть оптимизация как правило происходит по факту появления проблем, изначально заниматься такой ерундой нет смысла, в вертикальном масштабировании расти можно очень долго, а потом просто БД вынести на отдельный сервер и снова расти долго =)) Ну а если упретесь в ресурсы всегда можно переписать проект на го или расте =))

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

Я тоже думал про расбери пи для домашнего сервера, но какая то дика дорогая штука за такие скромные параметры, в итоге я поставил домой себе вот такое чудо докупил в dns памяти и винт и коробочка стоит на холодильнике =)) Но я не использую под сайты, у меня там стоит всякие домашние штуковины, например ПО для управления умным домом, файло облака, "шары", потоковое видео с торрентов и так далее, в общем чисто домашние прикладные задачки, но Intel N100 мне понравился, там хоть вентилятор есть но я пока его ни разу не слышал вот его нагрузка сейчас


Хотя у меня там и MQTT брокеры которые обслуживают с десяток дачиков и релюшек, базы данных, вэб серверы для интерфейсов и так далее, плюс запас еще по мощности есть

Сервер с одним ядром это либо VPN либо раздача статики, для сервера где есть несколько приоритетных процессов одно ядро это катастрофа по сути, они будут его нещадно делить, а при этом есть еще и системные задачи. VPS для сайтов нужно хотя бы 2 ядра минимум и вот тут наверное 2 ядра по 5ГГц будет лучше чем 4 ядра по 2.8ГГц, хотя опять же лучше проверить тестами так как профиль нагрузки у всех разный, например принять 1000 запросов от клиентов на 4 ядрах будет быстрее, но в рамках одного запроса частота будет решать. Для простоты объяснения герцы это количество операция в секунду которые может сделать процессор, то есть 1 ГГц =  1 000 000 000 операций в секунду на процессоре

livetv #:

У пользователя в докере нет прав на файлы из-за того, что он не знает группы.

Попробую.

Вышло ранее добавлением группы в работающий контейнер и рестартом php/nginx.

Но после перезапуска контейнера все пропадает.

Вам надо понимать, что такое пользователь и группа в linux это по сути какой то ID числовой. В контейнере не свои ID, а точно такие же. То есть если у вас есть на хост системе пользователь например webuser с ID 1001, то в контейнере тоже надо создать пользователя с 1001 ID, тогда у него будут такие же права для файлов. Выше способ я показал как можно запустить процесс от того же пользователя, у меня в продакшене так работает. Ну и не правильно чтобы nginx и php были в одном контейнере. Путь докера (docker way) это то, что в одном контейнере один основной процесс.

keklodoq #:

можно ли таким образом с помощью докера управлять ресурсами? например выделить для PID 1 скажем 4 ядра и столько-то памяти, а для PID 2 побольше

да можно ограничить контейнеру ресурсы https://docs.docker.com/config/containers/resource_constraints/

Всего: 4113