swoole_server->set

swoole_server->set������������swoole_server����ʱ�ĸ�����������������ͨ��$serv->setting������set�������õIJ������顣

ԭ�ͣ�

void swoole_server->set(array $setting);
void swoole_server_set(swoole_server $server, array $setting);

ʾ����

$serv->set(array(
    'timeout' => 2.5,  //select and epoll_wait timeout. 
    'poll_thread_num' => 2, //reactor thread num
    'writer_num' => 2,     //writer thread num
    'worker_num' => 4,    //worker process num
    'backlog' => 128,   //listen backlog
    'max_request' => 50,
    'dispatch_mode'=>1, 
));

swoole_server::setֻ����swoole_server::startǰ����

�������

max_conn => 10000, �˲�����������Server�������ά�ֶ��ٸ�tcp���ӡ��������������½�������ӽ����ܾ���

�˲�����Ҫ�����Ĺ��󣬸��ݻ����ڴ��ʵ����������á�Swoole����ݴ���ֵһ���Է���һ����ڴ�������Connection��Ϣ

�ػ����̻�

daemonize => 1������˲�����ִ��php server.php��ת���̨��Ϊ�ػ���������

reactor�߳���

reactor_num => 2��ͨ���˲���������poll�̵߳��������Գ�����ö��

reactor_num��writer_numĬ������ΪCPU����
1.6.9֮ǰ�汾��ʹ�� poll_thread_num => 2������

Writer�߳���

writer_num => 2��ͨ���˲���������Write�̵߳��������Գ�����ö�ˡ���Swoole���SOCKET�Ķ�д�Ƿֿ��ģ�IO_Read��reactor�߳�����ɣ�IO_Write��writer�߳������

1.6.12+������Writer�̣߳���Reactor�߳����˺ϲ�

worker������

worker_num => 4���������worker����������swoole���ù̶�worker���̵�ģʽ��
PHP��������ȫ�첽��������worker_num����ΪCPU������1-4�����ɡ������ͬ��������worker_num����Ϊ100���߸��ߣ�����Ҫ��ÿ��������ĺ�ʱ�Ͳ���ϵͳ����״����

���趨��worker������С��reactor�߳���ʱ�����Զ�����reactor�̵߳�����

max_request

max_request => 2000���˲�����ʾworker�����ڴ�����n�������������С�manager�����´���һ��worker���̡���ѡ��������ֹworker�����ڴ������

PHP����Ҳ����ʹ��memory_get_usage�������̵��ڴ�ռ����������ֽӽ�memory_limitʱ������exit()�˳����̡�manager���̻���մ˽��̣�Ȼ��������һ���µ�Worker���̡�
onConnect/onClose�����Ӽ���

max_request => 0

����Ϊ0��ʾ���Զ�������Worker��������Ҫ����������Ϣ�ķ�����Ҫ����Ϊ0.

Listen�����

backlog => 128���˲������������ͬʱ�ж��ٸ���accept�����ӣ�swoole����acceptЧ���Ǻܸߵģ������ϲ�����ִ����Ŷ������

CPU�׺�����

open_cpu_affinity => 1 ,����CPU�׺�����

TCP_NoDelay����

open_tcp_nodelay => 1 ,����tcp_nodelay

TCP_DEFER_ACCEPT

tcp_defer_accept => 5���˲����趨һ�����������ͻ����������ӵ�������ʱ����Լ�������ڲ����ᴥ��accept��ֱ�������ݷ��ͣ����߳�ʱʱ�Żᴥ����

��־�ļ�·��

log_file => '/data/log/swoole.log', ָ��swoole������־�ļ�����swoole�����ڷ������쳣��Ϣ���¼������ļ��С�Ĭ�ϻ��ӡ����Ļ��

�����ý���swoole-1.5.8���ϰ汾�п���

����buffer

buffer��Ҫ�����ڼ�������Ƿ����������������swoole������ȴ��µ����ݵ�����ֱ���յ�������һ�����󣬲Ż�һ���Է��͸�worker���̡���ʱonReceive���յ�һ������SW_BUFFER_SIZE��
С��$serv->setting['package_max_length']�����ݡ�
Ŀǰ���ṩ��EOF��⡢�̶���ͷ���ȼ��2��bufferģʽ��

open_eof_check => true��buffer
package_eof => "\r\n\r\n" ����EOF

����������

heartbeat_check_interval => 30 //ÿ���������һ�Σ���λ�룬Swoole����ѯ����TCP���ӣ�����������ʱ������ӹرյ�
heartbeat_idle_time => 60 //TCP���ӵ��������ʱ�䣬��λs , ���ijfd���һ�η����������ڵ�ʱ�䳬��heartbeat_idle_time���������ӹرա�

�������������Ҫswoole-1.6.10+
heartbeat_idle_time������ڻ����heartbeat_check_interval

worker�������ݰ�����ģʽ

dispatch_mode = 1 //1ƽ�����䣬2��FDȡ���̶����䣬3��ռʽ���䣬Ĭ��Ϊȡ��(dispatch=2)

��ռʽ���䣬ÿ�ζ��ǿ��е�worker���̻�����ݡ��ܺ���SOA/RPC����ڲ�������
��ѡ��Ϊdispatch=3��ռģʽʱ��worker�����ڷ���onConnect/onReceive/onClose/onTimer�Ὣworker���̱��Ϊæ�����ٽ����µ�����reactor�Ὣ������Ͷ�ݸ�����״̬Ϊ�е�worker����
���ϣ��ÿ�����ӵ����ݷ�����̶���worker���̣�dispatch_mode��Ҫ����Ϊ2