美文网首页程序员
【轻知识】phper对yaf、laravel压测以及medoo跟

【轻知识】phper对yaf、laravel压测以及medoo跟

作者: 言十年 | 来源:发表于2018-09-24 22:02 被阅读23次

    压测

    一个接口三份代码(laravel一份。yaf两份分了两个分支),分别压测。目的是看下medoo类库(轻量数据库框架)跟orm的差距吧。压测方式参考《构建高性能web站点》。1000个请求,并发递增。

    接口内容,连表查商品。商品再拉取库存接口。

    yaf(medoo类库)

    yaf_medoo.png

    yaf(Eloquent ORM laravel操作数据库的)

    yaf_orm.png

    laravel框架

    laravel.png

    结果

    yaf(medoo)>yaf(Eloquent ORM)>laravel 。不压测也知道是这个结果。

    1000个访问100个并发时,我观察了下cpu

    laravel

    image.png

    yaf-orm

    image.png

    yaf-medoo

    image.png

    测试时注意

    1. 安装Eloquent时参考下面的资料了。

    有一行代码$this->config->database->toArray()是传数据库配置的。我直接删了。传了一个数组进去,键名一定是Eloquent对应的。可在vendor/illuminate/database/README.md说明文件中找到(其实你用过laravel就顺手了,更好设置了)。

    1. ab的使用

    ab -p getproductlist.params -T application/x-www-form-urlencoded -n 100 -c 100 http://xxxx.com/ProductList

    getproductlist.params 文件 中id=173

    如果支持json传参的话 Content-Type:application/json ,文件内容变成{"id":173}

    参考资料

    《Medoo》https://www.jianshu.com/p/0e552d70155e debug 方法方便查看sql语句。
    《Yaf集成Eloquent》https://www.jianshu.com/p/72cb2f81a76a

    相关文章

      网友评论

        本文标题:【轻知识】phper对yaf、laravel压测以及medoo跟

        本文链接:https://www.haomeiwen.com/subject/postiftx.html