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?
+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
--------------------------------------------------------------------------------