Производительность GridFS
В интернете не так много статей о производительности GridFS, вот одна из них Serving files out of GridFS которая показывает, что отдача файлов из GridFS медленнее чем с диска в 6 раз. Но в той статье есть недочет — в тестировании обращение идет к одному файлу, а при этом файл кешируется на уровне nginx либо файловой системы что дает отрыв по сравнению с GridFS. Да и неплохо проверить свежий GridFS, 3 года прошло как никак. Поэтому я решил провести собственное тестирование, с обращением по разным именам файлов. Есть 52 тыс файлов — постеры к фильмам, общий объем 2Гб, средняя картинка весит 40 кб. Копия файлов на ext4, копия в GridFS. Виртуалка 512Мб с 1 ядром. Ubuntu server 12.04 LTS 64bit, настройки Nginx/1.4.1 стандартные. Тест рассчитан на low-cost сервер, для мощных серверов результаты будут другие.Способы отдачи файлов: 1) Nginx — статика 2) Gevent через nginx 3) 2 x Gevent через nginx (балансировка) 4) Gevent напрямую 5) Gevent через nginx (unix socket)для пунктов 2–5 использовался http сервер на Python + Gevent который отдавал файлы из GridFSСпособы нагрузки: 1) ol, t2 — Обращение к одному url, 2 потока 2) ol, t10 — Обращение к одному url, 10 потоков 3) t2 — Обращение к разным url, 2 потока 4) t10 — Обращение к разным url, 10 потоковЧитать дальше →