nodejs和php性能分析比較

在本機windows環境下的測試:8G內存,4GCPU,win7系統

插入1000條記錄測試比較,php和nodejs的性能

php代碼段(php5.6)

<?php
   $link=mysqli_connect('127.0.0.1','root','666666','db_name');

   if (!$link) {
        echo "Error: Unable to connect to MySQL." . PHP_EOL;
        echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
        echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
        exit;
    }else{
        echo 'success';
        
        $sql = "insert into web_pic (`uid`,`isimage`,`imgurl`,`pic_date`,`pic_name`) values('2260335','0','/13/orgin/201607131138020369508811.jpg','2018-09-02','sdd')";
        $time_start = microtime_float(); 
        for($i=1;$i<1000;$i++){

           mysqli_query($link,$sql);
        }

        $time_end = microtime_float();

        $time = $time_end - $time_start;

        echo "it consumes $time seconds\n";

    }

   function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

 

耗時0.21152591705322 seconds

 

nodejs代碼段:

var connection = mysql.createConnection({
   host:'localhost',
   'user':'root',
   'password':'666666',
   database:'db_name',
   port:'3306'
});

connection.connect(function(err){
  if(err){
     console.log('[query]-:'+err);
     return;
  }
  console.log('[connection connect] succeed!');
});
//execute insert operation
var useradd = 'insert into web_pic (`uid`,`isimage`,`imgurl`,`pic_date`,`pic_name`)  values(?,?,?,?,?)';

var param=['3000000','1','/13/orgin/201607131138020369508811.jpg','2018-11-01','vvv'];
var st = new Date().getTime(); 
for(var i=1;i<1000;i++){
    connection.query(useradd,param,function(err,rs){
       if(err){
          console.log('insert err:',err.message);
          return;
       }else{
          //console.log('insert success');
       }
    });
}
var et = new Date().getTime(); 
console.log(et-st);

耗時35微秒。

當改爲10000條記錄插入,php耗時1.650171995163 seconds,nodejs耗時318微秒

據說php7性能很高,可能會比php5.6好些。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章