Pull to refresh

Comments 8

Помню, RIA был очень тормозной, когда активно пользовался два года назад. Сейчас намного лучше. Наверное, работают советы :)
UFO just landed and posted this here
Понятно, что стоимость потребительских SSD ниже, как и их скорость, тоже ниже, однако со стороны бизнеса должны быть требования по скорости загрузки файлов и т.п., действительно ли они не выполнялись на 8xINTEL SSDSC2BB480G4 480G

Не выполнялись, по нескольким причинам:
1. Это старый сервер, который постепенно апгрейдили, на разных этапах пробовали разные конфигурации. Вначале было 4 SSD в stripped raid без RAID-контроллера. Это работает плохо, так как RAID-контроллер с батарейкой это снижение рисков развала RAID-масива (с такой проблемой столнулись).
2. Потом собрали то что есть но пожалели денег на быстрий RAID-контроллер и, возможно, небольшие iops-ы отчасти и его рук дело.
3. Нету аппаратного шифрования, это тоже проблема, держать прожорливые процы только чтоб шифровать трафик — неоптимально и если дать на них большую нагрузку то и процы начнут тормозить и iowait поползет вверх. (Процессоры можно озадачить более полезной нагрузкой, например, предпорезкой разных форматов фоток)
4. Возможно можно было бы компенсировать добавлением RAM-а, так там уже нету свободных слотов.
5. Есть еще одна неприятная особенность, система начинает тормозить не линейно, например нагрузка возросла на 5% а скорость отдачи снизилась на 50% (я кончно, утрирую, но суть, я надеюсь, понятна)
6. На сервере всегда должен быть резерв, на случай выхода из строя друго-го кеш-сервера.
Или выполнялись, но было бабло? :)

Очень быстро никогда не бывает, если у Вас iowai не 0 значит диск иногда тормозит.

Я бы еще вспомнил что контроллер ARC-1882 сам по себе является узким местом, он малопроизводительный для такой конфигурации, превращает в ssd с 100к iops каждая в RAID с масксимум 60к iops всего, да и латенси его довольно велик. Еще бы через адаптек 6805 ssd подключили.

Да тут спору нет, почему ставили Araca я уже писал, просто NVMe дискам не нужен RAID-контроллер и это прекрасно!
При раздаче с ОЗУ, я не надеюсь на ОС, которая помещает в память то, что считает нужным и монтирую раздел со статикой на RAM-диск

Есть результаты тестов или это бездумное следование городским легендам?

Когда речь идет о малом количестве файлов и папок, то разницы не будет. Но когда файлов очень много и винт не быстрый, т.е. есть ощутимый iowait то загрузка в ОЗУ может помочь.

Простой эксперимент:
Берем папку 100 000 файлов, для того чтоб ее сгенерить используем скрипт, например такой:
#!/bin/bash

# Init variables
EXAMPLEFILE=./example.png
FILESCOUNT=100000
CACHE_DIR=/home/cache
URL="http://imagerequests"

for i in `seq 0 $FILESCOUNT`; do
    let "X = i % 100"
    let "D = i - X"
    let "L1 = D/100"

    let "X = i % 1000"
    let "D = i - X"
    let "L2 = D/1000"

    TARGET_DIR=$CACHE_DIR/$L2/$L1
....
    if [ ! -d $TARGET_DIR ]; then
       mkdir -p $TARGET_DIR
    fi
    if [ ! -f $TARGET_DIR/$i.png ]; then
       cp $EXAMPLEFILE $TARGET_DIR/$i.png
    fi
    echo "$URL/$L2/$L1/$i.png"
done


При этом на стандартном выводе формируется список URL-ов, кладем его в /etc/siedge/urls.txt.

У меня вся папка получилась окло 70M, полный размер на FS около 400M

Примонтировал так
mount -t tmpfs -o size=1G,noatime,async tmpfs /home/ram


Запускаем sedge:
siege -c 1000 -t 10s -i -b


Для диска
Transactions: 52106 hits
Availability: 100.00 %
Elapsed time: 9.40 secs
Data transferred: 38.69 MB
Response time: 0.02 secs
Transaction rate: 5543.19 trans/sec
Throughput: 4.12 MB/sec
Concurrency: 134.60
Successful transactions: 52341
Failed transactions: 0
Longest transaction: 2.10
Shortest transaction: 0.00


Для RAM:
Transactions: 102892 hits
Availability: 100.00 %
Elapsed time: 9.04 secs
Data transferred: 76.22 MB
Response time: 0.00 secs
Transaction rate: 11381.86 trans/sec
Throughput: 8.43 MB/sec
Concurrency: 15.30
Successful transactions: 103132
Failed transactions: 0
Longest transaction: 0.32
Shortest transaction: 0.00


Понятно, что когда все файлы загрузятся в RAM из fs то время сравниться. Ну а если файлов будет пару миллионов, то с файловой системы все может и не взлететь, а рам задосить невозможно.

В статье сделаю правки, чтоб было понятно в каких случаях, так можно делать.
> у многих мировых лидеров, предоставляющих сервис CDN, серверов в Украине нет и раздача идет с Германии или Польши.
> Коммерческая цена раздачи CDN-трафика в Украине около 0.05$/G,

У CDNvideo есть украинское юрлицо, несколько узлов CDN в Киеве, да и цена на порядок ниже указанной.
У CDNvideo есть украинское юрлицо, несколько узлов CDN в Киеве, да и цена на порядок ниже указанной.

Если только в Киеве, то это востребовано для международной раздачи трафика, в рамках Украины это не CDN, это просто раздача с Киевского сервера, у Hostpro дороже, но у них сервера по всей Украине: Киев, Львов, Одесса, Харьков, Днепр и это можно уже назвать CDN в рамках Украины.
Sign up to leave a comment.

Articles