Чем логичнее? =) То что знаков больше? Так по вашему ID 10000000 будет искаться дольше чем строка address
Ключи в БД не выглядят как их значения, то что вы видите цифру 1 ключ это не цифра 1 =))
Ну вы же наверняка в валдбериез и яндекс маркете архитектором работаете, ведь так? =)))
Я конечно не работаю там, но предполагаю, что используют это для такой штуки как шардинг. Так как базу данных сложно масштабировать горизонтально, то принимают решение, что например ID товаров с 1 до 1кк мы храним на сервере А, а с 1кк до 2кк на сервере Б, без ID в урле это действительно сложно делать. Вы если мне не верите, можете сделать табличку на 2 поля, число по праймари и varchar на пусть 100 символов с индексом желательно уникальным и запустить тест выборки по полям. Я это все к чему, я работаю на проектах подобных что вы озвучили, и мы, например, используем как ключи uuid, а не числа.
Вот вам пример такой таблицы, есть ключ праймари и ключ по url (строке), для БД это один и тот же тип индекса, поэтому я не очень понимаю что вы мне тут пытаетесь доказать, я даже не уверен что у вас есть понимание работы всего этого, сделать эксперимент же делов то полу часа, зато сформируете свое мнение основанное на опыте и практике, а не кто то где то сказал.
Я думаю можно начать от сюда https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html
Что там сложного? Уже напилили полную коробочку инструментов. Разделять фронт и бэк сейчас сильно проще.
Вопрос мне кажется не совсем правильный.
Нагрузка на статичный контент? Это шутка?
Почему ларавел? Почему вообще php или в чем разница php laravel или php wordpress? Laravel заставит написать вас просто все ручками дав набор инструментов, но никто не запрещает так же ручками написать и в wordpress, просто то что это laravel это не значит что ручками напишут нормально =)))
В чем будет ускорение на примерах от PerconaDB (fork mysql) или даже mysql8?
С сотней запросов в секунду в целом я думаю справится любая CMS на выделенном сервере, у нас битрикс тянет больше 2500 запросов в секунду и это интернет магазин, а не статический контент =))
От куда вы эту ерунду берете? Для того чтобы быстро работал нормальный ЧПУ надо на него повесить индекс, разница от числа будет только в размерах этого индекса на жестком диске так как число занимает меньше байт.
По своему опыту работы в хайлоад проектах могу сказать что профиль нагрузки разный на разных проектах и не бывает чтобы CMS или работала или не работала, есть какие то участки где алгоритм не оптимален или делается больше запросов или запрос тяжелый и так далее, то есть оптимизация как правило происходит по факту появления проблем, изначально заниматься такой ерундой нет смысла, в вертикальном масштабировании расти можно очень долго, а потом просто БД вынести на отдельный сервер и снова расти долго =)) Ну а если упретесь в ресурсы всегда можно переписать проект на го или расте =))
Я тоже думал про расбери пи для домашнего сервера, но какая то дика дорогая штука за такие скромные параметры, в итоге я поставил домой себе вот такое чудо докупил в dns памяти и винт и коробочка стоит на холодильнике =)) Но я не использую под сайты, у меня там стоит всякие домашние штуковины, например ПО для управления умным домом, файло облака, "шары", потоковое видео с торрентов и так далее, в общем чисто домашние прикладные задачки, но Intel N100 мне понравился, там хоть вентилятор есть но я пока его ни разу не слышал вот его нагрузка сейчас
Хотя у меня там и MQTT брокеры которые обслуживают с десяток дачиков и релюшек, базы данных, вэб серверы для интерфейсов и так далее, плюс запас еще по мощности есть
Сервер с одним ядром это либо VPN либо раздача статики, для сервера где есть несколько приоритетных процессов одно ядро это катастрофа по сути, они будут его нещадно делить, а при этом есть еще и системные задачи. VPS для сайтов нужно хотя бы 2 ядра минимум и вот тут наверное 2 ядра по 5ГГц будет лучше чем 4 ядра по 2.8ГГц, хотя опять же лучше проверить тестами так как профиль нагрузки у всех разный, например принять 1000 запросов от клиентов на 4 ядрах будет быстрее, но в рамках одного запроса частота будет решать. Для простоты объяснения герцы это количество операция в секунду которые может сделать процессор, то есть 1 ГГц = 1 000 000 000 операций в секунду на процессоре
У пользователя в докере нет прав на файлы из-за того, что он не знает группы.
Попробую.
Вышло ранее добавлением группы в работающий контейнер и рестартом php/nginx.
Но после перезапуска контейнера все пропадает.
Вам надо понимать, что такое пользователь и группа в linux это по сути какой то ID числовой. В контейнере не свои ID, а точно такие же. То есть если у вас есть на хост системе пользователь например webuser с ID 1001, то в контейнере тоже надо создать пользователя с 1001 ID, тогда у него будут такие же права для файлов. Выше способ я показал как можно запустить процесс от того же пользователя, у меня в продакшене так работает. Ну и не правильно чтобы nginx и php были в одном контейнере. Путь докера (docker way) это то, что в одном контейнере один основной процесс.
можно ли таким образом с помощью докера управлять ресурсами? например выделить для PID 1 скажем 4 ядра и столько-то памяти, а для PID 2 побольше
да можно ограничить контейнеру ресурсы https://docs.docker.com/config/containers/resource_constraints/