title: Firebase Cloud Functions - slow response when querying Firestore
body: <p>I have a simple Cloud Function in Firebase that takes JSON in an http POST and saves it to a Firestore collection. It's allocated 512MB memory.</p>
  
  <p>The performance of this cloud function is very poor. If executed continuously, the round trip varies from 200-600ms and if executed infrequently (every 5-10 mins) it can take 4-10 seconds. I understand the cold start problem but on AWS I've never seen a cold start this slow, nor this frequent.</p>
  
  <p>My code is below - I'd appreciate any insight into how to speed up performance.</p>
  
  <pre><code>'use strict';
  
  const functions = require('firebase-functions');
  const admin = require('firebase-admin');
  admin.initializeApp(functions.config().firebase);
  const db = admin.firestore();
  
  const express = require('express');
  const bodyParser = require("body-parser");
  const app = express();
  app.use(bodyParser.urlencoded({ extended: false }));
  app.use(bodyParser.json());
  
  // CORS Express middleware to enable CORS Requests.
  const cors = require('cors');
  app.use(cors({ origin: true }))
  
  app.post('/submitResponse', (req, res) =&gt; {
    console.log('/submitResponse');
  
    if (!req.body.info)
      res.status(422).send()
  
    const payload = req.body.info;
    console.log(payload);
  
    const responses = db.collection("responses")
  
    responses.add({
      payload: payload,
      timestamp: admin.firestore.FieldValue.serverTimestamp()
    }).then(function(docRef) {
      console.log("Response written with ID: ", docRef.id);
      res.status(200).send(JSON.stringify(docRef.id))
    })
    .catch(function(error) {
        console.error("Error adding document: ", error);
    });
  });
  
  exports.app = functions.https.onRequest(app);
  </code></pre>