tcpsocket/tmp很慢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcpsocket/tmp很慢相关的知识,希望对你有一定的参考价值。
参考技术A 程序采用了阻塞得方式。在运行发送得时候,察看任务管理器,看看内存是不是一直在增长,如果内存没有问题,可能是你得程序采用了阻塞得方式,阻塞会使程序越来越慢。
在使用TCP的connect连接服务器时,在默认情况下系统使用的是阻塞式socket,如果服务器当前不可用,则connect会等待直到超时时间到达(大多数伯克利系统将建立一个新连接的最长时间限制为75秒),而这个超时时间是系统内核规定的,并不能使用setSocketOpt来设置。
swoole websocket和TCPsocket的交互
<?php | |
/** | |
* Created by PhpStorm. | |
* User: lancelot | |
* Date: 16-7-30 | |
* Time: 下午8:13 | |
*/ | |
class Server | |
{ | |
private $serv; | |
/** | |
* @var PDO | |
*/ | |
private $pdo; | |
public function __construct() | |
{ | |
$this->serv = new swoole_websocket_server("0.0.0.0", 9501); | |
$this->serv->set([ | |
‘worker_num‘ => 1, | |
‘dispatch_mode‘ => 2, | |
‘daemonize‘ => 0, | |
]); | |
$this->serv->on(‘message‘, array($this, ‘onMessage‘)); | |
$this->serv->on(‘Request‘, array($this, ‘onRequest‘)); | |
$port1 = $this->serv->listen("0.0.0.0", 9503, SWOOLE_SOCK_TCP); | |
$port1->set( | |
[ | |
‘open_eof_split‘=> true,//检测自动分包打开(具体干什么的 我不懂) | |
‘package_eof‘ => "\r\n" | |
] | |
); | |
$port1->on(‘Receive‘, array($this, ‘onTcpReceive‘)); | |
$this->serv->start(); | |
} | |
//显示是哪个客户端发来的数据 | |
public function onMessage(swoole_websocket_server $_server, $frame) | |
{ | |
foreach($_server->connections as $fd) | |
{ | |
$info = $_server->connection_info($fd); | |
var_dump($info); | |
} | |
} | |
//服务端接收到不同端口的数据如何处理 | |
public function onRequest($request, $response) | |
{ | |
foreach($this->serv->connections as $fd) | |
{ | |
$info = $this->serv->connection_info($fd); | |
switch($info[‘server_port‘]) | |
{ | |
case 9501: | |
{ | |
// websocket | |
if($info[‘websocket_status‘]) | |
{ | |
} | |
$response->end(""); | |
} | |
case 9503: | |
{ | |
// TCP | |
} | |
} | |
var_dump($info); | |
} | |
} | |
public function onTcpReceive( swoole_server $serv, $fd, $from_id, $data ) { | |
var_dump($data); | |
$data_list = explode("\r\n", $data); | |
foreach ($data_list as $msg) { | |
if( !empty($msg) ) { | |
echo "Get Message From Client {$fd}:{$msg}\n"; | |
} | |
} | |
} | |
} | |
new Server(); |
以上是关于tcpsocket/tmp很慢的主要内容,如果未能解决你的问题,请参考以下文章
win10电脑打开此电脑资源管理器任务管理器软件等突然很慢很慢,cup内存磁盘利用率却很低
SAP migo这个事物代码在做操作的时候,多人操作同一个事务代码时很慢很慢,是啥原因?