When adding https://cdn.jsdelivr.net/yocto/sstate/all please remove any
reference to sstate.yoctoproject.org from SSTATE_MIRRORS to ensure a proper
test.

Thank you

On Sat, Sep 23, 2023 at 12:51 PM Michael Halstead <
mhalst...@linuxfoundation.org> wrote:

> After some workshopping this morning we have a solution for larger files.
> Almost every package is now available with CDN acceleration. For files over
> 64MB the fetcher will need to follow a series of redirects to work
> properly. Files under 64MB will be served fast from every region. Larger
> files will be proxyed and cached on a smaller network of servers that can
> handle them. Once cached they will be stored for up to a month. Because
> sstate is immutable that means fast access after the first use in a region.
>
> Set SSTATE_MIRRORS
> <https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS>
> to include https://cdn.jsdelivr.net/yocto/sstate/all or
> http://cdn.jsdelivr.net/yocto/sstate/all, test it out, and report back.
>
> If we want the system to perform as fast as possible we need to change
> SSTATE to work with 64MB file segments but that's a discussion to have
> after this solution is tested.
>
>
> On Fri, Sep 22, 2023 at 12:03 PM Michael Halstead <
> mhalst...@linuxfoundation.org> wrote:
>
>> Here are packages and size ranges that are not yet served via CDN.
>> Hopefully testing on the smaller files is possible while we figure out
>> a solution for these.
>>
>> assimp 75M 76M
>> binutils 64M 100M
>> boost 68M 148M
>> ceres-solver 167M 182M
>> cmake 157M 553M
>> ffmpeg 68M 69M
>> gcc 127M 681M
>> gcc-cross-aarch64 64M 102M
>> gcc-cross-arm 64M 72M
>> gcc-cross-i686 65M 80M
>> gcc-cross-mips 65M 69M
>> gcc-cross-mips64 64M 69M
>> gcc-cross-powerpc 64M 72M
>> gcc-cross-x86_64 65M 104M
>> gcc-crosssdk-aarch64-pokysdk-linux 65M 75M
>> gcc-crosssdk-i686-oesdk-linux 65M 77M
>> gcc-crosssdk-i686-pokysdk-linux 65M 79M
>> gcc-crosssdk-i686-w64-mingw32 66M 78M
>> gcc-crosssdk-x86_64-oesdk-linux 65M 78M
>> gcc-crosssdk-x86_64-pokysdk-linux 65M 80M
>> gcc-crosssdk-x86_64-w64-mingw32 67M 79M
>> gdb 66M 105M
>> ghostscript 64M 115M
>> git 68M 90M
>> glibc-locale 81M 228M
>> go 67M 67M
>> go-binary-native 82M 82M
>> go-cross-core2-32 98M 100M
>> go-cross-core2-64 93M 100M
>> go-cross-corei7-64 98M 99M
>> go-cross-cortexa15t2hf-neon 99M 99M
>> go-cross-cortexa57 93M 99M
>> go-cross-cortexa8hf-neon 99M 100M
>> go-cross-mips32r2 98M 99M
>> go-cross-mips64 99M 99M
>> go-cross-mips64r2 99M 99M
>> go-native 86M 86M
>> go-runtime 64M 82M
>> grpc 74M 102M
>> hdf5 78M 137M
>> influxdb 76M 98M
>> intel-media-driver 68M 132M
>> jemalloc 164M 164M
>> kea 65M 153M
>> lib32-binutils 64M 70M
>> lib32-boost 77M 122M
>> lib32-cmake 158M 305M
>> lib32-gcc 144M 390M
>> lib32-gcc-cross-i686 65M 79M
>> lib32-gcc-cross-mips 65M 69M
>> lib32-ghostscript 65M 83M
>> lib32-git 65M 65M
>> lib32-glibc-locale 81M 228M
>> lib32-go-cross-x86 98M 99M
>> lib32-kea 64M 88M
>> lib32-linux-firmware 275M 419M
>> lib32-llvm 1126.4M 2662.4M
>> lib32-ltp 77M 305M
>> lib32-mesa 65M 68M
>> lib32-openssl 119M 360M
>> lib32-piglit 106M 106M
>> lib32-qemu 275M 639M
>> lib32-rust 93M 129M
>> lib32-rust-llvm 64M 76M
>> lib32-spirv-tools 68M 107M
>> lib32-valgrind 68M 89M
>> lib32-vulkan-demos 74M 74M
>> lib32-vulkan-validation-layers 65M 101M
>> lib32-webkitgtk 1126.4M 927M
>> lib64-boost 75M 119M
>> lib64-gcc 151M 401M
>> lib64-gcc-cross-mips64 65M 69M
>> lib64-gcc-cross-x86_64 65M 80M
>> lib64-glibc-locale 82M 228M
>> lib64-go-cross-x86_64 98M 99M
>> lib64-go-runtime 68M 81M
>> lib64-ltp 67M 347M
>> lib64-mesa 66M 68M
>> lib64-openssl 276M 411M
>> lib64-rust 97M 123M
>> lib64-rust-llvm 64M 67M
>> lib64-valgrind 65M 84M
>> libyang 93M 93M
>> linux-firmware 275M 419M
>> linux-intel 120M 395M
>> linux-yocto 66M 537M
>> linux-yocto-rt 174M 287M
>> llvm 1126.4M 3481.6M
>> llvm-native 71M 88M
>> ltp 64M 598M
>> mariadb 1331.2M 966M
>> mariadb-native 237M 259M
>> mesa 64M 113M
>> minifi-cpp 155M 214M
>> mozjs-102 183M 255M
>> nativesdk-glibc-locale 81M 226M
>> nativesdk-qemu 245M 644M
>> nativesdk-rust 82M 125M
>> nativesdk-rust-llvm 65M 73M
>> nodejs 1024.0M 723M
>> opencv 185M 237M
>> opengl-es-cts 406M 560M
>> openssl 92M 685M
>> php 67M 68M
>> piglit 106M 106M
>> poco 75M 107M
>> python3-grpcio 65M 88M
>> python3-wxgtk4 70M 100M
>> qemu 1228.8M 929M
>> qemu-system-native 65M 71M
>> renderdoc 67M 82M
>> rocksdb 177M 272M
>> rust 85M 140M
>> rust-llvm 64M 79M
>> rust-llvm-native 287M 418M
>> rust-native 78M 85M
>> spirv-tools 64M 195M
>> systemd 69M 71M
>> tesseract-lang 369M 451M
>> upm 82M 82M
>> valgrind 64M 128M
>> vsomeip 82M 149M
>> vulkan-cts 592M 833M
>> vulkan-demos 73M 138M
>> vulkan-validation-layers 65M 108M
>> webkitgtk 1024.0M 995M
>> webkitgtk3 1126.4M 1638.4M
>> wireshark 65M 85M
>> wxwidgets 70M 88M
>>
>> On Fri, Sep 22, 2023 at 10:32 AM Michael Halstead <
>> mhalst...@linuxfoundation.org> wrote:
>>
>>> Right now we have https://cdn.jsdelivr.net/yocto/sstate set up as a CDN
>>> mirroring proxy endpoint. It's fast and completely free to the project.
>>> However, it will only work for files smaller than 64MB and will send a
>>> redirect to the main server at sstate.yoctoproject.org for files larger
>>> than 64MB.
>>>
>>> The good news is that we have a fast free CDN provided by
>>> https://www.jsdelivr.com/ and their many sponsors for 99.4% of our
>>> files.
>>>
>>> Here is an estimated distribution of sstate files currently available:
>>> 1 KB-4 KB: 103168
>>> 4 KB-16 KB: 1218048
>>> 16 KB-64 KB: 1886976
>>> 64 KB-256 KB: 1225216
>>> 256 KB-1 MB: 170752
>>> 1 MB-4 MB: 92928
>>> 4 MB-16 MB: 83200
>>> 16 MB-64 MB: 40448
>>> 64 MB-256 MB: 17664
>>> 256 MB-1 GB: 7936
>>> 1 GB-4 GB: 2560
>>>
>>> I'm still working on a CDN solution for the larger files but we can
>>> begin testing https://cdn.jsdelivr.net/yocto/sstate today.
>>>
>>> Here is an example link to a file that is currently popular from each
>>> location:
>>>
>>>
>>> http://sstate.yoctoproject.org/all/universal/c6/81/sstate:re2c-native:x86_64-linux:3.1:r0:x86_64:11:c681f19e2786732c7920860d0b27cdcf3a79c9441d9bdaa82319a12e96e6246e_deploy_source_date_epoch.tar.zst
>>>
>>>
>>> https://cdn.jsdelivr.net/yocto/sstate/all/universal/c6/81/sstate:re2c-native:x86_64-linux:3.1:r0:x86_64:11:c681f19e2786732c7920860d0b27cdcf3a79c9441d9bdaa82319a12e96e6246e_deploy_source_date_epoch.tar.zst
>>>
>>> I'm also attaching a list of the largest files in sstate. Anything we
>>> can do to reduce the size of these or to split them into smaller pieces
>>> will help with hosting and with the user's download experience.
>>>
>>> --
>>> Michael Halstead
>>> Linux Foundation / Yocto Project
>>> Systems Operations Engineer
>>>
>>
>>
>> --
>> Michael Halstead
>> Linux Foundation / Yocto Project
>> Systems Operations Engineer
>>
>
>
> --
> Michael Halstead
> Linux Foundation / Yocto Project
> Systems Operations Engineer
>


-- 
Michael Halstead
Linux Foundation / Yocto Project
Systems Operations Engineer
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#61088): https://lists.yoctoproject.org/g/yocto/message/61088
Mute This Topic: https://lists.yoctoproject.org/mt/101525879/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: 
https://lists.yoctoproject.org/g/yocto/leave/6691583/21656/737036229/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to