Всем привет!
Как вы думаете, напряжная ли задача для интерпретатора php обработать 220 файлов ища в них определенные слова, на средненьком виртуальном сервере VPS 4/2200 Mhz, 8 Гб.
Файлов 220, занимают они 8 Мб., но в основном они все мелкие, вообще в целом для php поиск через регулярные выражения в тексте это затратная операция или так ерунда.
Вообще не вижу проблемы.
Ну, если не запускать эту задачу каждую секунду...
Я использую jQuery + Cropper - https://fengyuanchen.github.io/cropper/
Результат улетает в php скрипт, который c помощью ImageMagick обрезает и ресайзит по заданным координатам.
ТОже склоняюсь к тому как Леня предложил. Сделать отдельную таблицу и там
id / ник / время / баллы/
В момент записи проверяем сколько всего записей по данному нику и если более 13 - удаляем тот из них, который с наименьшим ID и добавляем новую запись. Так таблица не будет расти и под рукой всегда будут данные за последние 10 мин.
Я бы ещё всё это в Redis пихнул вместо базы.
Ключ - имя игрока, значение - массив с прогрессом.И ttl - 600 секунд. Если нет изменений, то запись будет самовыпиливаться по прошествии ttl.Работать будет многократно быстрее любой базы. Особенно если игроков очень много.Если игроков очень-очень много, то лучше поднять отдельный инстанс редиса с отключённым бэкапом.
Подскажите, на каком движке все это крутилось или до сих пор крутится? Не отказались еще от этой связки nginx + php-fpm + xcache? На WordPress хочу настроить такую связку, получится?
Исключительно самопис.Так как всё давно выросло, в данную связку уютененько въехал Redis.Увы, с WP, как впрочем, и с другими CMS я не очень. От слова совсем. Так что, только хардкор )))
Если памяти много, пишите сессии в redis. И лучше с сериализацией igbinary.
Я уж и не помню, когда последний раз в фс писал сессии. Разве только для каких-нибудь рукожопных поделок, которые сами путь к сессиям переопределяют...
Настраиваете в конфигах php-fpm разные пулы на разных портах.
К примеру, пхп 5.6 слушает 9000 порт, а 7.4 - 9001
А дальше в своих локейшенах просто выбираете
fastcgi_pass 127.0.0.1:9000;
или
fastcgi_pass 127.0.0.1:9001;
Если с любого айпишника, то это плохая идея.А если с одного, то limit_req_zone прекрасно работает в отдельно взятом location.
Если же проблема в регеспе самого локейшена, то это вопрос не по ограничению, а по регеспу )))
Вы пингуете не виртаулку, а свой комп.
Для начала неплохо бы вообще порты в виртуалку пробросить.
Настройки -> Сеть -> Дополнительно -> Проброс портов
Ну а там уже всё просто. Чтобы просто по http ходить: Порт хоста - 80, порт гостя - 80.
ssh, ftp, et cetera - та же фигня. Все порты, к которым вы собираетесь обращаться на виртуалке, нужно пробрасывать внутрь.
Если нужно скипнуть остальную часть цикла, то просто
continue;