在我的GAE服務器中,數據存儲讀取操作在12小時後達到100%,並且我有大約20個用戶。快速數據存儲讀取操作配額耗盡
隨着我的應用程序中的其他操作,我構建了一個聊天,其中連接到我的應用程序的用戶每隔1秒彙集一次服務器。因此,我有很多要求/message
,但我而不是訪問數據存儲。
請求數到/message
(約42K)與最大Datstore讀操作(50k)之間是否存在相關性?
編輯:
的/message
代碼:是否啓用會話
ArrayListMultimap<String, ChatMessage> messages;
ServletContext application = null;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
if (application == null)
{
application = getServletContext();
messages = ArrayListMultimap.create();
}
out = response.getOutputStream();
oos = new ObjectOutputStream(out);
Object o = ServerUtils.readObject(request);
if(o instanceof ChatMessage)
{
ChatMessage message = (ChatMessage) o;
messages.put(message.getReciverId(), message);
List<ChatMessage> list = (List<ChatMessage>) messages.get(message.getReciverId());
}
else if(o instanceof String)
{
String sender = (String) o;
List<ChatMessage> list = (List<ChatMessage>) messages.removeAll(sender);
ArrayList<ChatMessage> newList = new ArrayList<ChatMessage>(list);
reponseToClient(newList);
}
}
因爲GAE已將這些愚蠢的配額從RedHat切換到了openshift。 – Eugene 2012-08-17 07:49:13
我會用我的下一個應用程序記住它,但現在我必須處理這個配額。我相信我做錯了,而不是谷歌是那麼便宜。 – Rami 2012-08-17 08:39:12
你在/ message handler中執行什麼操作? – 2012-08-17 08:59:47