Cloudflare D1 на бесплатном плане теперь блокирует доступ при превышении лимитов
Cloudflare объявила, что с 1 сентября на бесплатном плане Workers Free перестала быть «мягкой» работа с D1: при превышении лимитов запросы к базе начинают падать до полуночи по UTC. Это касается любых сервисов, использующих D1 — от ботов до небольших веб-приложений. Раньше превышение проходило незаметно, теперь — с ошибками, которые пользователь видит. Данные не теряются, но доступ временно блокируется.
Cloudflare с 1 сентября начала жёстко применять дневные лимиты для D1 на бесплатном плане: 5 млн прочитанных строк и 100 тысяч записанных в сутки. При превышении запросы возвращают ошибку и не работают до сброса счётчика в 00:00 UTC. Это касается не только кода в Worker, но и внешних интеграций через REST API. Хранилище остаётся нетронутым, но доступ временно блокируется. Счётчик сбрасывается в три часа ночи по Москве.
На мой взгляд, это не просто смена тарифов — это смена подхода к бесплатному сервису. Раньше «бесплатно» означало «работает, даже если лимиты превышены». Теперь — «работает, пока не превысишь». Это важно для владельцев сайтов, которые используют D1 как хранилище для небольших сервисов, ботов или админок. Если в один день трафик вырос — и запросы начали падать, это не сбой, а ожидаемое поведение.
Я бы на месте владельца смотрел прежде всего на то, как устроены запросы. Особенно на те, что читают много строк без индексов. SELECT * FROM events WHERE user_id = ? без индекса — это 100 тысяч чтений, даже если в ответе одна строка. Это легко убивает лимит. У нас в таких проектах сначала считаем нагрузку по rows_read и rows_written, потом смотрим, где можно добавить индексы или кэшировать. Даже если у вас нет прямого доступа к коду, проверьте, как ведёт себя база в дашборде.
Если вы используете D1 в бесплатном режиме — проверьте статистику за последние дни. Если пиковые значения близки к 3–4 млн чтений — вы в зоне риска. Даже если у вас нет 5 млн, превышение может случиться из-за одного неоптимизированного запроса. Решение — не только переход на платный план, но и оптимизация. Мы в Cetera такие интеграции делаем с учётом нагрузки: сначала анализируем, потом — оптимизируем. Это не срочно, но стоит начать уже сейчас, если у вас есть активность в D1.
Это часть нашей работы — Поддержка и развитие. Поддерживаем сайты всех типов на CMS и фреймворках: Cetera CMS, Laravel, Yii2, InSales, «1С-Битрикс», Bitrix24, WordPress, WooCommerce, Ecwid, OpenCart, Drupal, Joomla, Magento2, Shopify и самописные системы на PHP и Python. Инфраструктура, развитие и продвижение включены. Поддержка и развитие
Автор: Святослав Семенов из Cetera Labs