Есть самописный сайт на php. На сайте хранятся учебные материалы в виде mp3, pdf, docx файлов. К файлам обращаются пару десятков человек. Пока проблем нет, но что будет, если количество пользователей сильно вырастет? Есть ли какие-либо варианты кэширования? Серверного.
Суть-то в чем? Зачем их серверу кешировать если они и так лежат в файловой системе сервера? Клиенту их кешировать надо, чтоб не гонять повторно трафик. Какая задача решается?
@savsoft, cdn поставить между клиентом и сервером. Но это имеет смысл когда будет видно, что нагрузка возросла. И ещё подумать, что выгоднее - докупить пару железок на сервере/увеличить тариф VPS, или заморачиваться со всем этим добром типа CDN.
Клиенту не нужно, маловероятен повторный доступ, а вот количество клиентов будет расти. И боюсь шаредхостинг перестанет справляться при одновременном доступе большого количества пользователей. И вот вопрос, тогда переходить на виртуалку или может есть какой вариант, кроме CDN? Memcache кэширует статические файлы или только целые страницы? --- Добавлено --- Да и по деньгам в нашем случае виртуалка сильно выгоднее, чем CDN.
Memcache кеширует данные, теоретически любые. Но смысла класть туда целые аудио-файлы нету, даже если ухитрится их потом достать. Вы переполните оперативу, вот и вся польза
В моем тарифе написано, что память для Memcache оплачивается отдельно и не связана с памятью для аккаунта, то есть для кєша я могу просто отдельно купить полгига, это выше крыши. Я опасаюсь одного, только если все студенты ломанутся за домашкой одновременно. Пока студентов не так много и система с легкостью справляется, но в случае роста количества студентов или другого заказчика, задумался, что делать, если несколько десятков/сотен пользователей обратятся к одному и тому же аудиофайлу?
В данный момент до 100 пользователей в сутки, но не равномерно. По статистике в 1 час бывает человек 40. И вот теоретически эти 40 человек могут обратиться к одному файлу одновременно. Маловероятно, но все же.
Это не та нагрузка, по поводу которой следует сильно беспокоится. Я думаю, nginx справится с 40 одновременными запросами и без вашей помощи. Да и Apache.