Буду писать тут интересные случае из работы.
Для начала - почему вчера весь день тормозил реактор. Уже давно основной фронтэнд сдыхал. На нём же обрабатывались картинок и он не справлялся с отдачей картинок на скорости 2Гбит и обработкой их. Поэтому я начал потихоньку обработку картинок переносить в другое место.
И вдруг произошло что-то. Симптомы:
1) на сата дисках чтение 5Mb/s
2) на ссд диске запись только 0.5Mb/s. Хотя должна быть те же 5Mb/s, ибо всё что читается с сата потом сразу кладётся в кэш ссд.
3) запросы время от времени подвисают на 5-10-15 секунд. Причём в них нет никакого криминала - обычная отдача малоиспользующейся картинки размеров в 500Кб.
Начал грешить на nginx - что он почему-то не записывает в кэш то, что отдаёт бэкэнд. Долго мучался - ничего не смог выяснить. Решил раньше времени переносить на новый сервер бэкэнд - должно хотя бы распределить нагрузку.
Во время rsync понял в чём проблема была - все картинки у меня складываются в одну директорию. И теперь она выглядит так:
drwxrwxrwx 2 root root 59M Jan 30 19:58 pics
Можно заметить, что размер директории - 59Мб. Похоже из-за возросшей нагрузки она вытеснялась из файлового кэша и очередной запрос на 500Кб хотел открыть эту директорию, что заставляло его читать все 59Мб и тормозить всю систему.
познавательно
Под конец ожидал увидеть что-то типа "Думаю, девушки уже не читают. Ребят, подскажите годные порно-сайты" XD
мда бля
Не ну тут все ясно. Теперь я все понял
тебе подсказать, где отписываться от тега и/или человека?
мне подскажите пожалуйста, я с ходу не нашел
благодарю
стоп,а почему файловый кеш не увеличить по размеру?
файловый кэш = размер свободной памяти. Размер свободной памяти ограничен общим размером памяти.
Оперативной? Это ж сколько у тебя база данных кушает, чтобы 59 мб не было?
дык, это не база данных. Это файловая система.
Кока, если не секрет, какой контроллер под диски используешь?
никакой. сата - в софтварном raid1
а ссд у меня один. Если появится 2ой, то в софтварный raid0 засуну, наверное.
а ссд у меня один. Если появится 2ой, то в софтварный raid0 засуну, наверное.
меня всегда скоростью чтения печалит md raid1
ну меня все крутящиеся диски печалят скоростью чтения =).
А md - не думаю, что на 2ух дисках что-то хардварное сможет сильно лучше оптимизировать чтение. Разве что на большом количестве дисков он начнёт рулить.
А md - не думаю, что на 2ух дисках что-то хардварное сможет сильно лучше оптимизировать чтение. Разве что на большом количестве дисков он начнёт рулить.
Понятно,
Надеюсь не OCS - у меня за 2 года на 4 OCS накрылись контроллеры. И самое жесткое, что даже восстановлению не подлежат, в R-Lab отказались - говорят ни за какие деньги. А вот crucial за те же 2 года, пока ни разу, видимо марвел контроллер не зря стоит дороже. И да, crucial в том же R-Lab восстанавливают по стандартному тарифу.
Кстати поставил 2 SSD Crucial M4 в RAID 1 - не сказал бы что сильно производительность упала... Правда у меня и контроллер Adaptec c 512 кеша и SATA3. 1С на нем просто летает.
А Софтварный не сильно проц напрягает?
Надеюсь не OCS - у меня за 2 года на 4 OCS накрылись контроллеры. И самое жесткое, что даже восстановлению не подлежат, в R-Lab отказались - говорят ни за какие деньги. А вот crucial за те же 2 года, пока ни разу, видимо марвел контроллер не зря стоит дороже. И да, crucial в том же R-Lab восстанавливают по стандартному тарифу.
Кстати поставил 2 SSD Crucial M4 в RAID 1 - не сказал бы что сильно производительность упала... Правда у меня и контроллер Adaptec c 512 кеша и SATA3. 1С на нем просто летает.
А Софтварный не сильно проц напрягает?
только ocz, а не ocs. Как раз он и стоит =). Дома, кстати, тоже он. На самом деле, если умрёт серверный ссд - ничего не случится. Всего лишь отдача картинок будет подтормаживать пару часов, пока он не наберёт кэш. А домашний ссд я бэкаплю раз в день. Ну и вообще всё бэкапить надо =).
Кто ж его разберёт, как он напрягает проц =). Подозреваю, что с современными процессорами не напрягает практически.
Кто ж его разберёт, как он напрягает проц =). Подозреваю, что с современными процессорами не напрягает практически.
Какие-то сервера, какие-то очереди...
мальчик, иди в школу, не мешай дяденькам разговаривать.
я примерно от того же страдал, но с записью разговоров на софт атс (freeswitch).
изначально записи сразу писались фрисвичем в папку, смонтированную по nfs. после некоторого порога попросту стали пропадать некоторые записи (тоесть при попытке записи процесс фейлился).
в итоге пришлось раскладывать все в папочки вида %Y-%m и писать сначала в tmpfs, откуда после по крону конвертировать с помощью sox в ogg и уже после этого отправлять на nfs шару. главное не забыть проверить с помощью fuser не занят ли еще файл, чтобы не сконвертировать =)
ну и fs в хранилище сменил на ext4, для большого кол-ва файлов в дире это существенно.
изначально записи сразу писались фрисвичем в папку, смонтированную по nfs. после некоторого порога попросту стали пропадать некоторые записи (тоесть при попытке записи процесс фейлился).
в итоге пришлось раскладывать все в папочки вида %Y-%m и писать сначала в tmpfs, откуда после по крону конвертировать с помощью sox в ogg и уже после этого отправлять на nfs шару. главное не забыть проверить с помощью fuser не занят ли еще файл, чтобы не сконвертировать =)
ну и fs в хранилище сменил на ext4, для большого кол-ва файлов в дире это существенно.
хотел кстати спросить, почему джой не сохраняет сразу пикчи с полоской и после не скрывает ее, как это делает тот же 9gag?
это же лишний головняк, хранить два варианта пикчи (с полоской и без)
это же лишний головняк, хранить два варианта пикчи (с полоской и без)
1) даём пользователю скачать оригинал без полоски, нам не жалко.
2) это уже сделано, не переделывать же? =).
Вообще полоска была сделана для хотлинкеров. Ибо трафик жрали, а никакого профита не приносили.
2) это уже сделано, не переделывать же? =).
Вообще полоска была сделана для хотлинкеров. Ибо трафик жрали, а никакого профита не приносили.
а как качать без полоски?
открываешь пикчу на реакторе и качаешь. Ну или добавляешь Referrer: joyreactor.cc
А я уже картинок 300 скачал с полоской лол.
както не оптимально =(
А не задумывались об использовании CDN? Вроде, тут он был бы идеален.
стоимость обслуживания CDN больше, чем получает реактор =)
Ну, у того же cloudflare есть бесплатный аккаунт, которого должно хватить.
это хорошая идея =). Завтра напишу про опыт работы с cloudflare =)
Как обычно - ничего не понял, но на всякий случай подрочил!
Чтобы написать коммент, необходимо залогиниться