Несколько книг одним архивом.

С самого начала выкачка нескольких книг одним архивом была приятной фишкой, уникальной для Либрусека.
К сожалению, упаковка нескольких десятков файлов в один архив достаточно заметно грузит сервер.
Бывают времена, когда он не справляется.
Поэтому сейчас сделано так:
Если сервер не загружен (la<2, меньше ста пользователей онлайн), то всё работает как раньше. Это обычно с 16 до 24 по эквадорскому времени.
Если загружен сильнее (la>2), то массовая выкачка доступна только тем, кто совершал пожертвования.
Поштучная выкачка, а так же выкачка больших кусков (http://lib.rus.ec/allbooks, http://lib.rus.ec/all/daily/) работают в обычном режиме - нагрузка от них невелика.

Комментарии

Цитата:
К сожалению, упаковка нескольких десятков файлов в один архив достаточно заметно грузит сервер.

В принципе, zip'ы можно без переупаковки объединять. Максимум контрольную сумму хидера пересчитать придется. Может есть готовое решение? Для cab я вроде что-то такое видел...

Можно и так, но когда сотня файлов переписывается с места на место это само по себе тормозит. Зип - это не рар, он ресурсов практически не потребляет.
У меня такое ощущение, что слабое место не процессор, а SATA.
Когда одновременно готовится несколько архивов - всё остальное подтормаживает. Если сервер свободен - то пусть его, а если народу много - начинают выскакивать таймауты. Нехорошо.
Со временем возьму второй, отдельный под БД, будет попроще наверное.

А нет нужды гонять файлы с места на место. Если использовать transfer-encoding: chanked, то можно сразу, "на лету" создавать архив и отдавать его в сеть небольшими частями. Заполнили буфер, скажем 64К, и отправили его клиенту, подождали когда отправилось и продолжаете готовить следующую часть.

SATA к сожалению не решает многих проблем с множественными обращениями, поэтому серверы, которые сильно нагружены, только на SCSI делается ... надеюсь на новом сервере БД диски SCSI стоят)?

На новом сервере стоит один SATA диск.
Пока хватает.

ура!! а я жертвовал))

rusec, ты подумал над предложеньем выбора скачивать отдельную книгу без zip'a??
плюс, посомтри пожалуйста: http://lib.rus.ec/b/104411/read

Уже слышу по задворкам интернета Крики врагов"Ага что мы говорили, Либрусек всетаки берет деньги" конечно жаль но на данный момент я понял это необходимо

Цитата:
Если сервер не загружен (la<2, меньше ста пользователей онлайн)

Речь идет только о пользователях или об общем числе посетителей на сайте?
Вопрос важный, так как число посетителей меньше 100 падает редко.

Незарегенные участники вроде как не имеют прав на пакетную выкачку.

Да, но нагрузку на сервер они все равно обеспечивают.
Именно поэтому и возник вопрос.

Troom написал:
Да, но нагрузку на сервер они все равно обеспечивают.
Именно поэтому и возник вопрос.

Вверху:
larin написал:
Поштучная выкачка, а так же выкачка больших кусков (http://lib.rus.ec/allbooks, http://lib.rus.ec/all/daily/) работают в обычном режиме - нагрузка от них невелика.

Ладно, спасибо за объяснение.
Короче, ничего страшного не произошло, все остается так как и было.

Troom написал:
Речь идет только о пользователях или об общем числе посетителей на сайте?

Хм, похоже, гости таки учитываются. Странно.
Цитата:
Сейчас на сайте 42 пользователя и 114 гостей.

Цитата:
Извините, сервер сейчас перегружен. Зайдите через полчасика.

Учитывается загрузка сервера. Теоритически её и один человек создать может.
На практике когда на сайте меньше 100 человек - загрузка невелика, когда больше - уже похуже.

Безусловно, владелец сайта имеет право на то, чтобы устанавливатьна нём любые правила. У мну, как человека с гуманитарным образованием возник вопрос возможно ли технически отделить массовую выкачку книг из библиотеки от основы сайта. Насколько я понимаю на русэке есть либ1-либ7. Допустим, массовая скачка идёт на одном из этих либов, который функционирует как зеркало или как клон библиотеки с задержкой скажем в сутки, а чтение, обновление, дискуссии, поштучная выкачка идут на основном сайте. Сорри если сказал глупость...

Есть ли статистика сколько человек пользуется пакетной выкачкой за день и сколько одновременно?

1. Отделить, конечно, очень легко - есть кнопка "выкачать все выбранное". Если Ларин захочет, то статистика будет. Мне тоже хотелось бы взглянуть. Правда, кнопка действует и только с одним отмеченным файлом тоже ;).
2. Глупость не очень большая ;). Либрусек только один, вот и все, к сожалению. Несколько адресов - это еще не зеркало.

А я считаю что при высокой загрузке надо запрещать пакетную выгрузку всем, а не делать исключений для жертвователей. Иначе этим шагом льем воду на мельницу тех, кто кричал о шкурных интересах либрусека.
Мы то понимаем что это не так, но помните, как там:"А скажут... А скажут что нас было четверо..." :)

+1

Дабы не подумали чего - я сам таки "жертвователь", хоть и мелкий...

Жертвователей настолько мало, что они особо не нагрузят.
Надо же им хоть какие-то бонусы давать.

Крики о шкурных интересах, как и любые другие крики, меня задевают слабо. Пусть покричат, кому заняться нечем. Чем больше в сети порнографии - тем меньше в реале изнасилований.

larin написал:
Надо же им хоть какие-то бонусы давать.

IMHO - не надо.

Почему?

Не знаю. Просто ощущение. Честнее как-то. А то какой-то привкус покупки.

Аватар пользователя Mylnicoff

Да нет никакого привкуса - книг же никто не лишает. Причем помощь добровольная и по сути символическая. Может, сам наконец-то веб-мани заведу, а так все лень...

Mylnicoff написал:
Да нет никакого привкуса

Я говорил только о себе.

Насколько мы не любим когда происходят изменения :) До появления Либрусека с массовой выкачкой никто не жаловался на ее отсутствие :)

А мы и не жалуемся. Просто это действительно удобная фича. Но если по соображениям уменьшения нагрузки на диски сервера ее отключат, но оставят возможность выкачивать все то же самое, одним кликом с помощью создания листа ссылок для DL Manager я в целом нисколько не буду возражать.

отличная идея, и волки целы, и овцы сыты.
основное удобство как раз в этом - что быстро забил закачку и ушёл курить, а не тыркаешь по каждой книжке.

Поддерживаю - со многих сайтов именно так и качал, правда приходилось немного поработать руками чтобы преобразовать ссылки на странице в ссылки на закачку :)

Кстати, если движек сайта будет отправлять письма "Либрусек :: new comment for your post." содержащие именно комментарий на мой пост, а не первое сообщение треда, то я не буду заходить сюда лишний раз, только чтобы прочесть что мне ответили. Пока ведь посешаемость не важна для сайта - рекламы нету. ТАк что может подкрутить что то в коде??

Оно же так и работает, разве нет?

нет. приходит 1 пост топика, и ответ на мой, комментарий, к первому топику имеющий не самое близкое отношение

--------- cut---------------

Пост:
С самого начала выкачка нескольких книг одним архивом была приятной фишкой, уникальной для Либрусека.
К сожалению, упаковка нескольких десятков файлов в один архив достаточно заметно грузит сервер.
Бывают времена, когда он не справляется.
Поэтому сейчас сделано так:
Если сервер не загружен (la<2, меньше ста пользователей онлайн), то всё работает как раньше. Это обычно с 16 до 24 по эквадорскому времени.
Если загружен сильнее (la>2), то массовая выкачка доступна только тем, кто совершал пожертвования.

Комментарий:

Оно же так и работает, разве нет?
--------- cut---------------

а должно быть
--------- cut---------------

Пост:

Кстати, если движек сайта будет отправлять письма "Либрусек :: new comment for your post." содержащие именно комментарий на мой пост, а не первое сообщение треда, то я не буду заходить сюда лишний раз, только чтобы прочесть что мне ответили. Пока ведь посешаемость не важна для сайта - рекламы нету. ТАк что может подкрутить что то в коде??

Комментарий:

Оно же так и работает, разве нет?
--------- cut---------------

А знает ли кто-нибудь сколько хранятся эти временные архивы в /tmp?
Это я к тому, вдруг не получилось сразу качнуть сборку(и), т.к скачивать реальный объем есть только раз в месяц, поэтому приходится готовиться заранее :).

день-два, не больше.

Похоже, что сутки, потому что я часто выкачивал большими кусками, а если больше суток не выкачивал нового - нумерация подготовленных архивов возобновлялась с 1-ки.

В порядке информации. Сейчас массовая загрузка недоступна, а сайт выдаёт такую инфу. "Сейчас на сайте 13 пользователей и 46 гостей." Или сервер действительно перегружен или это баг ограничителя?

Перегружен.
Может кто другой запустил подготовку архива.
Несколько одновременно не тянет.
Скрипт не на количество людей смотрит, а на загрузку сервера.

2 Ларин. Есть идея, как снизить нагрузку на сервер без ущемления кого бы то ни было. Нужно выбранные книги не упаковывать в архив / перепаковывать, а просто создать текстовый файл со списком ссылок на выбранные книги, и именно его скачать. После чего текст копируется в менеджер закачек (DM, например), и все качается без перепаковки на сервере. Для этой функции лучше сделать специально отдельную кнопку типа "занести все выбранное в файл ссылок".

Оно давно есть - http://lib.rus.ec/download

Да нет, речь о том, чтобы не паковать файлы заново, а только выдать список ссылок, по которым файлы можно закачать отдельно даунлоад менеджером. Чтобы не качать по 1 файлу, а подготовить список ссылок. Но качать не одним файлом, а отдельно, по списку.
И еще: нельзя ли сделать так, чтобы при перегрузке сервера заявка просто ставилась в очередь, а когда файл для групповой закачки сформирован - послать по e-mail ссылку на скачивание, действительную в течение суток.

А чего засуетились-то. Ничего страшного. Расписываю по пунктам.
1. Фишка данного сайта. Может быть, может не быть. Содержание сайта не меняется, стиль тоже.
2. У ресурса на данном этапе развития ВРЕМЕННЫЕ трудности с оборудованием. Вникаем в ситуацию и ждем изменений. Ларин сказал же, что будет второй сервер.
3. Я, например, читаю много и быстро. 2-3 книги в неделю стандартно. Если что-то очень понравилось, то 8-20 часов. Но даже при такой скорости потребления пакетная скачка не жизненая необходимость, а удобство. Но и по одному произведению я скачаю себе все, что требуется для данного момента.
4. Стоит порадоваться, что сайт развивается и его популярность растет. Нынешняя ситуация есть маленькое временное неудобство, которым мы платим за то, что нас все больше и больше.

+1. Я уже неоднократно говорил, что то, что скачано, не прочитаю и за 10 жизней ;). Так что мне лично - никаких проблем, совершенно фиолетово. Тем более, что скоро Либрусек останется единственным таким русскоязычным ресурсом в Сети, и выбора все равно не будет ;). Но если есть предложения, которые могут снизить нагрузку на сервер, то почему бы их не реализовать? Как, например, очередь на упаковку и отсроченная закачка (см. ниже). Конечно, дело Ларина, как поступать - предпринимать что-то в плане изменения сервиса, или наращивать мощности. А лучше - то и другое.

А что, это мысль, пожалуй: если нужно несколько книг, то отмечаешь галочками, жмёшь на выслать и... получаешь готовый архив на почту, но не сразу, а после того как у сервера появилось время на обработку...

Понятно же, что архив с несколькими книгами - вешь не сиюминутная, а "в запас". Посему и временной лаг тут может иметь место хоть сутки, хоть двое.

Цитата:
получаешь готовый архив на почту
Ну вот, опять! Да не архив на почту, а только ссылку! Ведь Ларин пишет, что проблем со скачкой нет, а только с упаковкой, а при этом упаковка может быть сделана в удобное для сервера время. Жмем ссылку в письме, и качаем с Либрусека готовый архив. Долго хранить архив нельзя - занимает место на диске, поэтому через сутки он будет удален, а ссылка недействительна.

Да, такой вариант, возможно, и помог бы равномернее распределить нагрузку. С другой стороны, ведь каждый раз, когда я буду кликать по ссылке, будет проходить запрос, потом его обработка. Это не получится само по себе дополнительной нагрузкой. И потом, я себя не отношу к категории людей, которые будут сидеть и периодически кликать по ссылке в надежде, что она должна сработать. И подобных мне немало.
Прошу простить меня, возможно я, в силу незнания каких-то спецприемов, все себе слишком упрощенно представляю. Но я среднестатистический юзер со среднестатистическим стажем. По моим вопросам можно судить о частых затруднениях большинства...

Запросы грузят систему не более, чем клики на форуме и написание ответов.

computers написал:
Запросы грузят систему не более, чем клики на форуме и написание ответов.

В таком случае, сервер больше всего нагружается именно при выполнении каких-то сторонних задач типа упаковки в архив. Простейший и очевиднейший способ разгрузки - отдать часть задач другому серверу. Все остальное - полумеры.
Ждем, что скажет Ларин. Возможно потребуются средства на покупку сервера...

На мой взгляд, в основном качают новые поступления и больше всего притормаживают сервер те, кто качает все (или почти все) новое про запас. Со временем число пользователей будет все больше и проблема встанет еще острее. Одним из путей снижения нагрузки на сервер может быть такой. В списке новых поступлений (видимо сразу после даты) ввести зиповский файл - все новые книги за такое-то число. В этот файл дозиповывать книги, которые поступают в этот день. Тогда достаточно будет одним кликом скачать все новое за день и не организовывать массу архивов. Потом из скачаного просто выбросить то, что не нужно. Можно еще ограничить число книг, которые можно выкачивать одним файлом до десяти, например. Тогда затраты времени на выкачку новых поступлений с образованием архивов будут больше, чем по предлагаемому варианту.

yuvysot написал:
На мой взгляд, в основном качают новые поступления и больше всего притормаживают сервер те, кто качает все (или почти все) новое про запас. Со временем число пользователей будет все больше и проблема встанет еще острее. Одним из путей снижения нагрузки на сервер может быть такой. В списке новых поступлений (видимо сразу после даты) ввести зиповский файл - все новые книги за такое-то число. В этот файл дозиповывать книги, которые поступают в этот день. Тогда достаточно будет одним кликом скачать все новое за день и не организовывать массу архивов. Потом из скачаного просто выбросить то, что не нужно. Можно еще ограничить число книг, которые можно выкачивать одним файлом до десяти, например. Тогда затраты времени на выкачку новых поступлений с образованием архивов будут больше, чем по предлагаемому варианту.

Это уже есть, ежедневные дополнения складываются в http://lib.rus.ec/all/daily. Именно оттуда я обновления и беру, и это по словам Ларина никакой особой нагрузки на сервер не дает, грузит именно персональное зипование при выкачке нескольких книг, а не собственно выкачка. И мне проще скачать все оотуда, а потом выкинуть ненужное, и серверу так проще. Только видимо далеко не все этой возможностью пользуются, и надо бы ее разлекламировать как-то для любителей качать массивами.
В плане пожелания у меня есть только одно предложение, которое может еще уменьшить нагрузку на сервер - вместо одной страницы http://lib.rus.ec/all/daily ввести две с ежедневными обновлениями - на одной обновление за сутки в "легких" форматах - fb2, txt, doc? rtf, а на другой "тяжелые" книги и журналы в pdf и djvu. Потому что пока таких "тяжелых" в ежедневном обновлении немного, то это не напрягает, а вот когда начинают что-то вроде подшивок "Химия и жизнь" активно выкладывать, то тут уже приходится выборочно через выкачку с архивированием качать, большое кол-во тяжелых журналов лично для меня чревато лишним разбазариванием трафика.

Тут было бы очень хорошо качать не daily, а day. С присовокуплением даты этого дня. Так было бы удобнее и экономичнее. А вообще этим можно пользоваться, пока там нет много djvu и массы иноязычной литературы. Проще же всего качать по одной с помощью DM, а если канал хороший, то и без него - пока щелкаешь одну, другая уже скачается.
А вот у меня по ходу вопрос. При одиночной закачке djvu моя Опера выдает "листинг" файла на экран (крякозябры) и не качает (т.е. файл как бы открывается для чтения). При закачке через DM этого самого единичного файла все нормально. Только для djvu, причем. У кого-то еще так делает? Опера 9.5. В IE этого нет, идет закачка. Не первый случай, когда Либрусек плохо заточен под Оперу, а их 30% :(.

computers написал:
...пока щелкаешь одну, другая уже скачается.
...При одиночной закачке djvu моя Опера выдает "листинг" файла на экран (крякозябры) и не качает

Ctrl+J >>> >>> "качалка"

в Opera
:
или

Страницы

X