subject: В порядке эксперимента: barebones-ii
      22.11.2024 12:03
      
        
            revoltech (spnet, 4)
        
      
       
       
      А что, если вообще оставить только /list.txt, (опционально) /blacklist.txt, /e, /m и /u/point? Тогда всё, кроме постинга, ложилось бы на физическую файловую структуру и его можно было бы сервачить хоть статикой.
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 12:27
      
        
            doesnm (tgi,8) => VQiT5g9Zl6kSRx5eor1w
        
      
       
       
      revoltech> А что, если вообще оставить только /list.txt, (опционально) /blacklist.txt, /e, /m и /u/point? Тогда всё, кроме постинга, ложилось бы на физическую файловую структуру и его можно было бы сервачить хоть статикой.
Звучит прикольно, но очень неоптимизированно. Я тут хотел сделать конвертер который создаст эху с 37к+ сообщениями. Насколько долго будет получать индекс и сообщения?
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 14:56
      
        
            revoltech (spnet, 4) => WEb8S3kccVcbfo0B8Asp
        
      
       
       
      doesnm> Звучит прикольно, но очень неоптимизированно. Я тут хотел сделать конвертер который создаст эху с 37к+ сообщениями. Насколько долго будет получать индекс и сообщения?
В первый раз будет долго (хотя зависит от канала у ноды и клиента), потом быстро. Мы же не перекачиваем вообще все сообщения каждый раз, а только те, которых не оказалось на клиенте.
Условно, алгоритм таков: выкачали индекс из /e/echo.name, сравнили с локальным содержимым того же файла, недостающие айдишники в цикле скормили /m, после успешного выкачивания перезаписали локальный индекс эхи.
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 15:46
      
        
            doesnm (tgi,8) => zPEnFZ7NvO15Wcje4IvN
        
      
       
       
      revoltech> В первый раз будет долго (хотя зависит от канала у ноды и клиента), потом быстро. Мы же не перекачиваем вообще все сообщения каждый раз, а только те, которых не оказалось на клиенте.
revoltech> Условно, алгоритм таков: выкачали индекс из /e/echo.name, сравнили с локальным содержимым того же файла, недостающие айдишники в цикле скормили /m, после успешного выкачивания перезаписали локальный индекс эхи.
Мы не перекачиваем сообщения, но мы перекачиваем индекс. Сколько он будет весить с без адаптивного фетча?
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 16:04
      
        
            revoltech (spnet, 4) => x8XAAM5Mi1dpkZWdnagF
        
      
       
       
      doesnm> Мы не перекачиваем сообщения, но мы перекачиваем индекс. Сколько он будет весить с без адаптивного фетча?
777к. Если по HTTP с gzip, то гораздо меньше. Надо тестить.
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 16:40
      
        
            doesnm (tgi,8) => snKvzwgzd0XU6L9xa3GN
        
      
       
       
      doesnm>> Мы не перекачиваем сообщения, но мы перекачиваем индекс. Сколько он будет весить с без адаптивного фетча?
revoltech> 777к. Если по HTTP с gzip, то гораздо меньше. Надо тестить.
Что еще прикольно: это идеально ложится на тип базы txt (так и задумано изначально?)
Так что можно использовать утилиты из ii-db-utils и прочее
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 16:57
      
        
            revoltech (spnet, 4) => O8W1nYGIOJyvbsnWKDD2
        
      
       
       
      doesnm> Что еще прикольно: это идеально ложится на тип базы txt (так и задумано изначально?)
doesnm> Так что можно использовать утилиты из ii-db-utils и прочее
В глаза не видел этих утилит, но да, я ж говорю, если оставить только /list.txt, /e и /m, то всё можно сервачить статикой. А динамической только логику постинга через /u/point сделать.
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 17:03
      
        
            doesnm (tgi,8) => VcGAk11AmfQ7KxRBZjmm
        
      
       
       
      revoltech> В глаза не видел этих утилит, но да, я ж говорю, если оставить только /list.txt, /e и /m, то всё можно сервачить статикой. А динамической только логику постинга через /u/point сделать.
Я про эти утилиты: https://github.com/idec-net/ii-db-utils
Тут даже есть скрипт чтобы конвертировать почту в ii формат
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      22.11.2024 18:13
      
        
            doesnm (tgi,8) => VcGAk11AmfQ7KxRBZjmm
        
      
       
       
      revoltech> В глаза не видел этих утилит, но да, я ж говорю, если оставить только /list.txt, /e и /m, то всё можно сервачить статикой. А динамической только логику постинга через /u/point сделать.
Либо если упороться, то кидать сообщения через rsync по ssh немного переделав https://github.com/idec-net/iissh
Кто сказал что мы обязаны постить только через /u/point ?
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      23.11.2024 01:56
      
        
            ahamai (blackcat, 2) => VQiT5g9Zl6kSRx5eor1w/topicid/VQiT5g9Zl6kSRx5eor1w
        
      
       
       
      /z а затем и /u был введён потому что по одному слишком медленно было
А изначально и было только  e и m
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      23.11.2024 08:28
      
        
            revoltech (spnet, 4) => 24HdhilaqFH1pqH22vKF
        
      
       
       
      ahamai> /z а затем и /u был введён потому что по одному слишком медленно было
Но при этом зачем-то ограничиваем количество айдишников в /u/m.
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      23.11.2024 09:14
      
        
            ahamai (blackcat, 2) => YnaHcoQ1LonZREevPrcg
        
      
       
       
      > Но при этом зачем-то ограничиваем количество айдишников в /u/m.
я уже объяснял. это принцип разумной достаточности
1. разница между 1 и 20 в 2014 была ощутима, а между 20 и 40 - нет
2. большой запрос ставил колом однопоточный сервер
я выбирал такой размер чанка, который не нагружал бы ни клиент, ни сервер. я даже не помню, сколько их там у меня сейчас, 20 или 40
      --------------------------------------------------------------------------------
    
      subject: Re: В порядке эксперимента: barebones-ii
      30.11.2024 14:05
      
        
            doesnm (tgi,8) => 24HdhilaqFH1pqH22vKF
        
      
       
       
      ahamai> /z а затем и /u был введён потому что по одному слишком медленно было
ahamai> А изначально и было только  e и m
Некропост
Я тут подумал, а что если сделать /e и /m директориями, list.txt, blacklist.txt и т.д как есть, а все /u эндпоинты реализовать через openresty или mod_magnet написав на Lua?
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
      --------------------------------------------------------------------------------