Search code examples
node.jsperformancehttpresponseopenshift

Application gets slow when I change server.js file Openshift


I created a node app in openshift, I connected through SSH, and I was able to push my code and I could change the server.js code for a simple hello world.

Server.js

#!/bin/env node
 var http = require('http');
 var serverIp = process.env.OPENSHIFT_NODEJS_IP;
 var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
 //creating server
 var server = http.createServer(function(req, res) {
      res.writeHead('Content-Type', 'text/plain');
      res.end('Simple example!!');
 });
 //listening
 server.listen(port, serverIp, function() {
     console.log('Server started on port ' + port + ' IP: ' + serverIp);
 });

When push this new code, I'm not getting any errors. And this is the package.json file

{ "name": "Hello_world",
"version": "1.0.0",
"description": "Hello world",
"engines": {
      "node": ">= 0.6.0",
      "npm": ">= 1.0.0"
},
"devDependencies": {},
"bundleDependencies": [],
"private": true,
"scripts": {
   "start" : "node server.js"
},
"main": "server.js"
}

When I do this, the application gets very very slow (like 2/3 minutes of waiting), here's the link. [http://avalecia-minisis.rhcloud.com/]enter code here1 But when I change the code for the original, everything's fine... :/

I don't see where the issue could be.


Solution

  • When deploying to OpenShift, your application's build process can be optimized (or tuned) in a variety of ways.

    If you'd like to minimize downtime between deploys, you can try enabling the hot_deploy feature:

    mkdir .openshift ; mkdir .openshift/markers ; touch .openshift/markers/hot_deploy
    git add .openshift/markers/hot_deploy
    git commit -m "enabling the hot_deploy marker to minimize downtime on OpenShift"
    git push
    

    Checking in your node_modules folder can also have a major impact on build time.

    Turning on NPM_CONFIG_PRODUCTION is another approach that may help (see : Run npm install --production on OpenShift)