谁知道Linux下500M内存,nginx php mysql 怎么分?
1个回答
展开全部
This is for a system with little memory (32M - 64M) where MySQL playsan important part, or systems up to 128M where MySQL is used together withother programs (such as a web server)
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
每个php-fpm占用20M左右的内存,
max_children默认5个,子进程太多反而会增加master process调度的负担,而且CPU进行过多的上下文切换也会浪费系统资源,得不偿失,所以按
php-fpm.conf
默认配置就好:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
php-fpm很像httpd用prefork那样运行,开始时fork出2个进程,根据请求数的增多自动fork多更多的子进程,配置里默认最多是5个。如果你的CPU多核,很强劲,
max_children
也可以设大点,比如可以设10个,要注意的是,即使内存够大,
max_children也不要弄太多,CPU得跟得上才行。
至于nginx.conf,默认值就好,默认是1个工作进程,单个工作进程最大并发1024。
worker_processes 1;
worker_connections 1024;
别看Nginx默认才一个工作进程(里面包含一个主线程),这并不妨碍Nginx高效。
httpd prefork那一堆工作进程,静态和动态请求都一样占用线程,性能真没Nginx好。
对于多核CPU,Nginx还可以配置绑定
核芯,充分利用多核CPU。
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
每个php-fpm占用20M左右的内存,
max_children默认5个,子进程太多反而会增加master process调度的负担,而且CPU进行过多的上下文切换也会浪费系统资源,得不偿失,所以按
php-fpm.conf
默认配置就好:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
php-fpm很像httpd用prefork那样运行,开始时fork出2个进程,根据请求数的增多自动fork多更多的子进程,配置里默认最多是5个。如果你的CPU多核,很强劲,
max_children
也可以设大点,比如可以设10个,要注意的是,即使内存够大,
max_children也不要弄太多,CPU得跟得上才行。
至于nginx.conf,默认值就好,默认是1个工作进程,单个工作进程最大并发1024。
worker_processes 1;
worker_connections 1024;
别看Nginx默认才一个工作进程(里面包含一个主线程),这并不妨碍Nginx高效。
httpd prefork那一堆工作进程,静态和动态请求都一样占用线程,性能真没Nginx好。
对于多核CPU,Nginx还可以配置绑定
核芯,充分利用多核CPU。
仁科信息
2024-07-24 广告
2024-07-24 广告
Linux系统运维是确保服务器稳定运行的关键环节。它涉及系统安装、配置、监控、故障排除以及性能优化等方面。作为运维人员,我们需要熟练掌握Linux命令和工具,监控系统资源使用情况,及时发现并解决问题。同时,我们还要关注系统安全,采取必要的安...
点击进入详情页
本回答由仁科信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询