nhuhoang wrote:
...
Như vậy thì có nên sử dụng php với worker không? Theo mình biết thì worker là một dạng lai giữa process và thead nên nó có một số ưu điểm về mặt hiệu suất so với prefork và tất nhiên là mình muốn sử dụng worker. Nhưng trên thực tế thì đa số các gói binary đóng gói sẵn cho linux đều sử dụng prefork.
Mong các bạn có ý kiến về việc này
Bạn thử 2 trường hợp:
1. Build PHP như một module của Apache
2. Sử dụng FastCGI để chạy PHP trên http://httpd.apache.org/docs/2.2/mod/event.html (dựa trên worker MPM)
Sau đó dùng http://httpd.apache.org/docs/2.0/programs/ab.html để đánh giá xem sao.
File cấu hình fastcgi.conf để bạn tham khảo:
Code:
# cat fastcgi.conf
LoadModule fastcgi_module modules/mod_fastcgi.so
AddHandler php-fastcgi .php
<Location /cgi-bin/php-cgi>
SetHandler fastcgi-script
</Location>
Action php-fastcgi /cgi-bin/php-cgi
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
<VirtualHost *:80>
ServerName host.quanta.com
ServerAdmin quanta@
DocumentRoot /usr/local/apache2/htdocs
<Directory /usr/local/apache2/htdocs>
Options ExecCGI
</Directory>
</VirtualHost>