Здравствуйте!
Хочу отчитаться о проделанной работе и немного определиться с планами на будущее.
После переезда вся основная работа была направлена на ускорение сайта. Не секрет, что посещаемость растёт с каждым днём. Пару месяцев назад цифра в 15 - 20 тысяч "уников" в сутки казалась фантастической. Сейчас же 40 тысяч уже норма . Коротко опишу то, что было сделано:
Теперь библиотека работает на 3х серверах. Один со статикой (книгами, картинками и тд.) и два с веб-серверами библиотеки.
"Главный" сервер обслуживает домен coollib.net, на втором работает coollib.com и opds-каталог, а на третьем (ftp.coollib.net) - вся статика. Сервера независимы и в случае сбоя одного, остальные будут работать. Такая схема позволила оптимально использовать ресурсы всех серверов.
Плюсом является масштабируемость и скорость работы, а минус в том, что не считаются анонимы. Для coollib.net и coollib.com подняты кэширующие прокси сервера. Кэш отдаётся только анонимам, так что у них сайт должен "летать". Но, т.к. при отдаче кэша не используется база и не требуется выполнение скриптов, то железо удалось немного разгрузить. Так что у зарегистрированных и авторизованных пользователей сайт должен работать быстрее. Даже при падении веб-сервера кэш всё-равно некоторое время будет отдаваться анонимам , и уже переконвертированные или сжатые книги можно будет ещё скачать (т.к. они находятся на другом сервере). Авторизованные же будут видеть ошибку.
Проведён анализ запросов к базе данных, самые долговыполняемые запросы теперь кэшируются на час (например запрос "всего книг в библиотеке" теперь не выполняется каждый раз, а его значение сохраняется на срок - 1 час).
Подчищен код темы, модулей и тд. CSS и JavaScript оптимизированы и сжаты. Уменьшено число переадресаций. Указанны правильные размеры картинок, валидаторы кэша и т.д.
На этом работу по "ускорению" временно закончу. Основное сделано, а мелкие исправления сильного прироста не дадут. Дальшейшее масштабирование уже будет решаться арендой дополнительного оборудования.
Сейчас хочу немного поработать над функционалом. Буду пересматривать записи из "планов на будущее".
В данный момент почти дописан код раздела "Серии" (по типу Либрусека) с возможностью выборки авторских или издательских серий, сортировку по количеству книг, популярности и тд. Возможно завтра внедрю его.
Все предложения по функционалу желательно писать сюда, буду по мере возможности их реализовывать.