Новый PHP-фреймворк Imhotep: быстродействие, оптимизация и импортозамещение
Представляем вам Imhotep - PHP-фреймворк с открытым исходным кодом.
Его архитектура и инструментарий напоминают популярные фреймворки, но есть и существенные отличия, которые, по нашему мнению, являются ключевыми в разработке и поддержке Imhotep. Давайте ознакомимся с ними.
Мы стремимся к минимальной зависимости от сторонних PHP-пакетов, что дает ряд преимуществ:
Значительно уменьшает размер приложения, исключая загрузку ненужных данных;
Снижает вероятность возникновения уязвимостей, связанных с внешними зависимостями.
После установки размер Imhotep составляет всего ~5 мегабайт.
Для работы приложения Imhotep необходим PHP версии не ниже 8.2. На ваш выбор предлагается два варианта установки Imhotep:
Более подробную информация о установке и конфигурировании приложения можно прочитать в документации на официальном сайте.
Благодаря тщательной оптимизации внутреннего кода и снижению оверхеда, мы добились следующих результатов в ходе тестирования с использованием Apache Benchmark (10 concurrency, 1000 requests, Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.8 GHZ, 1 GB ОЗУ, SSD) c пустым контроллером:
Количество ядер
1 ядро
4 ядра
8 ядер
Общее время теста
3.603 s.
1.226 s.
0.931 s.
Запросов в секунду
277
815
1074
Время одного запроса
0.0036 s.
0.0012 s.
0.0009 s.
Как видно из представленной выше таблицы, даже на самом слабом сервере, базовые функции Imhotep не окажет существенного влияния на скорость загрузки приложения.
На сегодняшний момент Imhotep поддерживает:
Кеширование: array, file, redis (скоро memcached, database)
Базы данных: sqlite, mysql, postgres
Файловую систему: local, S3
Локализацию приложения
Уведомления: SMTP, Telegram, SMS
Сессии: array, file (скоро redis, memcached, database)
Валидацию входных данных
Шаблонизатор
И много других возможностей, которые
Читать на habr.com


