成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

swoole提高性能的方法

這篇文章將為大家詳細講解有關(guān)swoole提高性能的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

為柳江等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務,及柳江網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務為成都做網(wǎng)站、成都網(wǎng)站建設(shè)、柳江網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

Swoole中的網(wǎng)絡請求處理是基于事件的,并且充分利用了底層的epoll / kqueue實現(xiàn),使得為數(shù)百萬個請求提供服務變得非常容易。

Swoole4使用全新的協(xié)程內(nèi)核引擎,現(xiàn)在它擁有一個全職的開發(fā)團隊,因此我們正在進入PHP歷史上前所未有的時期,為性能的高速提升提供了獨一無二的可能性。 

協(xié)程

Swoole4或更高版本擁有高可用性的內(nèi)置協(xié)程,您可以使用完全同步的代碼來實現(xiàn)異步性能,PHP代碼沒有任何額外的關(guān)鍵字,底層會自動進行協(xié)程調(diào)度。

開發(fā)者可以將協(xié)程理解為超輕量級的線程, 你可以非常容易地在一個進程中創(chuàng)建成千上萬個協(xié)程。

并發(fā)1萬個請求從MySQL讀取海量數(shù)據(jù)僅需要0.2秒

$s = microtime(true);
Co\run(function() {
    for ($c = 100; $c--;) {
        go(function () {
            $mysql = new Swoole\Coroutine\MySQL;
            $mysql->connect([
                'host' => '127.0.0.1',
                'user' => 'root',
                'password' => 'root',
                'database' => 'test'
            ]);
            $statement = $mysql->prepare('SELECT * FROM `user`');
            for ($n = 100; $n--;) {
                $result = $statement->execute();
                assert(count($result) > 0);
            }
        });
    }
});
echo 'use ' . (microtime(true) - $s) . ' s';

混合服務器

你可以在一個事件循環(huán)上創(chuàng)建多個服務:TCP,HTTP,Websocket和HTTP2,并且能輕松承載上萬請求。

function tcp_pack(string $data): string
{
    return pack('N', strlen($data)) . $data;
}
function tcp_unpack(string $data): string
{
    return substr($data, 4, unpack('N', substr($data, 0, 4))[1]);
}
$tcp_options = [
    'open_length_check' => true,
    'package_length_type' => 'N',
    'package_length_offset' => 0,
    'package_body_offset' => 4
];
---------------------------------------------------------------------------------------------------------------
$server = new Swoole\WebSocket\Server('127.0.0.1', 9501, SWOOLE_BASE);
$server->set(['open_http2_protocol' => true]);
// http && http2
$server->on('request', function (Swoole\Http\Request $request, Swoole\Http\Response $response) {
    $response->end('Hello ' . $request->rawcontent());
});
// websocket
$server->on('message', function (Swoole\WebSocket\Server $server, Swoole\WebSocket\Frame $frame) {
    $server->push($frame->fd, 'Hello ' . $frame->data);
});
// tcp
$tcp_server = $server->listen('127.0.0.1', 9502, SWOOLE_TCP);
$tcp_server->set($tcp_options);
$tcp_server->on('receive', function (Swoole\Server $server, int $fd, int $reactor_id, string $data) {
    $server->send($fd, tcp_pack('Hello ' . tcp_unpack($data)));
});
$server->start();

關(guān)于swoole提高性能的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享文章:swoole提高性能的方法
文章起源:http://jinyejixie.com/article40/pdcoeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、定制網(wǎng)站品牌網(wǎng)站制作、網(wǎng)站內(nèi)鏈網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
临西县| 鄂托克前旗| 黎川县| 五原县| 高密市| 乐平市| 宁南县| 社旗县| 社旗县| 枣强县| 五原县| 洛川县| 湘西| 台南市| 彭山县| 清远市| 修武县| 高邮市| 龙泉市| 手机| 罗平县| 顺平县| 雷山县| 黑龙江省| 隆子县| 汤原县| 广饶县| 北海市| 洛隆县| 江城| 高台县| 黎平县| 德江县| 泸西县| 方城县| 商丘市| 望奎县| 绥芬河市| 阜平县| 仲巴县| 长岛县|