php的serialize序列化和json性能测试

最近需要对大数组做存储,需要在serialize序列化和json之间做了选择。因此需要做了性能测试。

在php5.2之前对数组存储的时候,大都使用serialize系列化。php5.2之后,开始内置了 JSON 的支持

在网上看到有些资料说:json_encode和json_decode比内置的serialize和unserialize函数要高效。耳闻不如眼见,眼见不一定为实。那就用实际数据测试吧…..

我们先理解概念:

一、 序列化

序列化是将对象状态转换为可保持或可传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

将对象的状态信息转换为可以存储或传输的窗体的过程。 在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。 对于任何可能包含重要的安全性数据的对象,如果可能,应该使该对象不可序列化。如果它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。如果无法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码获得该权限。

二、 JSON

JSON,JavaScript Object Notation,一种更轻、更友好的用于接口(AJAX、REST等)数据交换的格式。 JSON是结构化数据串行化的文本格式,作为XML的一种替代品,用于表示客户端与服务器间数据交换有效负载的格式。它是从ECMAScript语言标准衍生而来的。JSON的设计目标是使它成为小的、轻便的、文本的,而且是JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

JSON建构有两种结构:
1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

2.值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

测试:

三、 实际测试

在PHP 5.3下执行:我们先使用小的数据做测试:

<?php    
$target = array (    
   'battle_id'=> 257    
   ,'user_id'=> 41248    
   ,'user_id2'=> 23989    
   ,'player'=> 41248    
   ,'formation'=> Array    
        (    
           '41248'=> 1    
           ,'23989'=> 2    
        )    
    
   ,'result'=> 1    
   ,'battle_type'=> 1    
   ,'speed'=> Array    
        (    
           '41248'=> 0    
           ,'23989'=> 0    
        )    
        );    
    
$json = json_encode($target);    
$seri = serialize($target);    
    
echo "json :" , strlen($json) ,'<br/>';    
echo "serialize :", strlen($seri) ,'<br/>';    
    
$stime = microtime(true);    
for ($i = 0; $i < 10000; $i ++) {    
    json_encode($target);    
}    
$etime = microtime(true);    
    
echo "json_encode :", ($etime - $stime) ,'<br/>';    
    
//----------------------------------    
    
$stime = microtime(true);    
for ($i = 0; $i < 10000; $i ++) {    
   json_decode($json,true);    
}    
$etime = microtime(true);    
    
echo "json_decode :", ($etime - $stime),'<br/>';    
    
//----------------------------------    
$stime = microtime(true);    
for ($i = 0; $i < 10000; $i ++) {    
    serialize($target);    
}    
$etime = microtime(true);    
    
echo "serialize :", ($etime - $stime) ,'<br/>';    
    
//----------------------------------    
$stime = microtime(true);    
for ($i = 0; $i < 10000; $i ++) {    
    unserialize($seri);    
}    
$etime = microtime(true);    
    
echo "unserialize :", ($etime - $stime),'<br/>';    
    
?>

测试结果:

json :156
serialize :222
json_encode :0.1087498664856
json_decode :0.12652111053467
serialize :0.041656017303467
unserialize :0.040987968444824

测试结果看出json效率稍微比serialize差点,在php5.2可能会更差。应该是在php5.3之后,json扩展做了优化。

然后使用大数组做测试(代码放到最后,因为代码的数组比较长):

测试结果:

json :5350
serialize :8590
json_encode :0.90479207038879
json_decode :1.753741979599
serialize :1.3566699028015
unserialize :1.3003630638123

我们可以看出,serialize比json差了快一个数量级。

总结:

1) 空间的比较

serialize在编码后大概是json的1.5倍。

原因:

  • serialize后字符串包含了子串的长度,这可能是速度方面的优化,但是测试结果不尽人意

  • serialize有更加详细的类型区分,而json只有四种类型,并且是以简单的符号表示。

  • 2)速度的比较

  • 在较小数据的情况下, serialize比json快数量级。

    在大数据量的情况下,json比serialize稍微差一点

    3)处理对象
    json无法处理对象方法等数据。

    4)使用范围

  • 在前后端交互一般都使用JSON,另外,目前JSON只支持UTF-8编码的数据。

    序列化使用serialize,特别是对象的存储。这是其存在的意义。

    与对象无关的数据存储可以使用json,如包含大量数字的数组等。

  1. <?php  
      
    $target = array (  
       'battle_id'=> 257  
       ,'user_id'=> 41248  
       ,'user_id2'=> 23989  
       ,'player'=> 41248  
       ,'formation'=> Array ('41248'=> 1  ,'23989'=> 2)  
       ,'result'=> 1  
       ,'battle_type'=> 1  
       ,'speed'=> Array( '41248'=> 0,'23989'=> 0  )  
       ,'attacker'=> Array(  
        '1'=> Array (  
                       'user_id'=> 41248  
                       ,'soldier_id'=> 28  
                       ,'prototype_id'=> 4  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3997  
                       ,'hp'=> 3997  
                       ,'attack_general'=> 346  
                       ,'attack_skill'=> 596  
                       ,'attack_explode'=> 458  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 2  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0)  
               ,'4'=> Array (  
                       'user_id'=> 41248  
                       ,'soldier_id'=> 29  
                       ,'prototype_id'=> 2  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3555  
                       ,'hp'=> 3555  
                       ,'attack_general'=> 396  
                       ,'attack_skill'=> 581  
                       ,'attack_explode'=> 418  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 0  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0  
                    )  
               ,'5'=> Array                (  
                       'user_id'=> 41248  
                       ,'soldier_id'=> 30  
                       ,'prototype_id'=> 6  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3043  
                       ,'hp'=> 3043  
                       ,'attack_general'=> 351  
                       ,'attack_skill'=> 540  
                       ,'attack_explode'=> 474  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 0  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0)  
               ,'7'=> Array (  
                       'user_id'=> 41248  
                       ,'soldier_id'=> 37  
                       ,'prototype_id'=> 2  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3491  
                       ,'hp'=> 3491  
                       ,'attack_general'=> 393  
                       ,'attack_skill'=> 532  
                       ,'attack_explode'=> 456  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 0  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0   ))  
       ,'defender'=> Array(  
               '2'=> Array(  
                       'user_id'=> 23989  
                       ,'soldier_id'=> 24  
                       ,'prototype_id'=> 1  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3230  
                       ,'hp'=> 3230  
                       ,'attack_general'=> 390  
                       ,'attack_skill'=> 567  
                       ,'attack_explode'=> 442  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 0  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0)  
               ,'5'=> Array(  
                       'user_id'=> 23989  
                       ,'soldier_id'=> 25  
                       ,'prototype_id'=> 2  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3400  
                       ,'hp'=> 3400  
                       ,'attack_general'=> 379  
                       ,'attack_skill'=> 536  
                       ,'attack_explode'=> 405  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 0  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0 )  
               ,'7'=> Array(  
                       'user_id'=> 23989  
                       ,'soldier_id'=> 26  
                       ,'prototype_id'=> 6  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3669  
                       ,'hp'=> 3669  
                       ,'attack_general'=> 362  
                       ,'attack_skill'=> 549  
                       ,'attack_explode'=> 426  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 0  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0 )  
               ,'9'=> Array(  
                       'user_id'=> 23989  
                       ,'soldier_id'=> 27  
                       ,'prototype_id'=> 1  
                       ,'bid'=> 1  
                       ,'level'=> 1  
                       ,'rare'=> 1  
                       ,'skill_id'=> 1  
                       ,'totalhp'=> 3618  
                       ,'hp'=> 3618  
                       ,'attack_general'=> 326  
                       ,'attack_skill'=> 510  
                       ,'attack_explode'=> 419  
                       ,'attack_type'=> 1  
                       ,'defense'=> 0  
                       ,'anger'=> 50  
                       ,'dodge'=> 2  
                       ,'crit'=> 2  
                       ,'block'=> 0  
                       ,'block_effect'=> 0.5  
                       ,'crit_effect'=> 2  
                       ,'foramtion_effect'=> 0) )  
       ,'battle_process'=> Array(  
               '0'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'1'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'2'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'3'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'4'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'5'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'6'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'7'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'8'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'9'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'10'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'11'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'12'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'13'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'14'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'15'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'16'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'17'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'18'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
               ,'19'=> Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
      
               ,'20'=>Array(  
                       'user_id'=> 41248  
                       ,'asid'=> 28  
                       ,'bsid'=> Array( '0'=> 26 )  
                       ,'harm'=> Array('0'=> 1650)  
                       ,'dhp'=> Array('0'=> 2019  )  
                       ,'attacker_anger'=> 66  
                       ,'defender_anger'=> Array('0'=> 94 )  
                       ,'skill'=> 0  
                       ,'state'=> 0  
                    )  
            )  
      
    );  
      
       
    $json = json_encode($target);  
    $seri = serialize($target);  
      
    echo "json :" , strlen($json) ,'<br/>';  
    echo "serialize :", strlen($seri) ,'<br/>';  
      
    $stime = microtime(true);  
    for ($i = 0; $i < 10000; $i ++) {  
        json_encode($target);  
    }  
    $etime = microtime(true);  
      
    echo "json_encode :", ($etime - $stime) ,'<br/>';  
      
    //----------------------------------  
      
    $stime = microtime(true);  
    for ($i = 0; $i < 10000; $i ++) {  
       json_decode($json,true);  
    }  
    $etime = microtime(true);  
      
    echo "json_decode :", ($etime - $stime),'<br/>';  
      
    //----------------------------------  
    $stime = microtime(true);  
    for ($i = 0; $i < 10000; $i ++) {  
        serialize($target);  
    }  
    $etime = microtime(true);  
      
    echo "serialize :", ($etime - $stime) ,'<br/>';  
      
    //----------------------------------  
    $stime = microtime(true);  
    for ($i = 0; $i < 10000; $i ++) {  
        unserialize($seri);  
    }  
    $etime = microtime(true);  
      
    echo "unserialize :", ($etime - $stime),'<br/>';  
      
    ?>

转自:http://blog.csdn.net/hguisu/article/details/7651730

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2808

(0)
上一篇 2015-04-07 19:19
下一篇 2015-04-07 19:20

相关推荐

  • Redis数据库安全手册

    Redis是一个高性能的key-value数据库,这两年可谓火的不行。而Redis的流行也带来一系列安全问题,不少攻击者都通过Redis发起攻击。本文将讲解这方面的内容,包括Redis提供的访问控制和代码安全问题,以及可以由恶意输入和其他类似的手段触发的攻击。 Redis通用安全模块 Redis被设计成只能由可信环境的可信机器访问。这意味着将它直接暴露在互联…

    2015-03-12
  • 网络班22期学习宣言

    马哥Linux运维学院 学习宣言 亲爱的小伙伴:        欢迎大家报名马哥Linux运维网络学习班,跟随马哥学习Linux技术,成就Linux大牛之梦。在这里,我们不仅可以学习到最优秀的技术课程,还可以跟着追梦的小伙伴们一起学习、一起进步。 为了督促大家一直积极认真努力的学习,请各位同学在评论区写出你的学习宣言。…

    Linux干货 2016-08-03
  • 为你的网络传输加把锁(OpenSSL)

    互联网形成的初期,更多关注的是设备之间通过网络相互访问功能的实现,我们都知道,两个设备之间要想相互通信,就必需遵循某种协议,于是早期的互联网也出现来众多的协议,比如传输层最著名的协议就是tcp和udp,而应用层比较著名的协议有:http、ftp、pop、smtp、dns、telnet等等,而这些协议这开发初期,更多是关注功能的实现,数据这网络上传输是明文方式…

    Linux干货 2015-12-06
  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11
  • 20160810作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。           2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root…

    Linux干货 2016-08-12
  • cnetos 6.7 内核编译

    简介     Linux内核的体积结构是单内核的,但充分借鉴了微内核设计体系的优点,为内核引入模块化机制,使得虽然是单内核、但工作在模块化的方式下、并且这个模块可以动态装载或卸载;Linux负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。如是我们在了解Linux内核的基础上根据自己的需…

    Linux干货 2016-02-27