Google App Engine чрезмерное хранилище данных мелких операций

У моего сайта около 50 пользователей, и я получаю слишком много операций с небольшими хранилищами данных. Я активно использую memcaching, у меня не так много записей, и все же я получаю миллионы небольших операций с хранилищами данных. Appstats говорит, что стоимость равна 0, но реальная стоимость не равна 0. Я в основном знаю, где могут происходить операции с небольшими хранилищами данных.

Только ключевые операции: я делаю это, но я запоминаю его, пока данные не будут изменены. Кроме того, большинство моих операций только с ключом имеют предел =100 (это макс.), Поэтому для выполнения 12-минутных операций мне нужно было бы сделать 120000 вызовов (я предполагаю, что выборка 1 ключа - это 1 маленькая операция). Поскольку я получаю около 60-70 посещений в день, это кажется немного чрезмерным. Я просто не могу понять, что вызывает столько операций. Appstats не дает мне никакой подсказки.

Это приборная панель.введите описание изображения здесь

Это аппстаты.введите описание изображения здесь

2 ответа

Вы используете много counts? Похоже, что это может быть проблемой, которая вызывает чрезмерное выполнение небольших операций с хранилищем данных.

У меня нет вашего кода, но в этом ответе есть несколько советов по оптимизации кода при возникновении этой проблемы.

Кроме того, взгляните на похожий вопрос - механизм приложений Google излишне выполняет операции с небольшими хранилищами данных для похожих ответов.

Я заметил, что этот старый вопрос еще не решен, поэтому, основываясь на вашей информации, вот еще одна потенциальная причина.

Запустив свой GAE SDK на очень свежем общедоступном экземпляре виртуальной машины Azure (xxx.cloudapp.net), я заметил, что много трафика ботов приходит, пытаясь найти общую CMS с открытым исходным кодом или страницу администратора корзины. Я считаю, что это связано с тем, что боты используют AXFR-запросы или брутфорс-обнаружение поддоменов.

Убедитесь, что вы блокируете любой нежелательный трафик ботов и не предоставляете им динамическую страницу, что больше сказывается на вашем хранилище данных.

Такое же условие также может быть вызвано мошенническим циклом запросов AJAX на каждой странице, которую запрашивают эти 50 пользователей.

Другие вопросы по тегам