小编Liu*_*zhe的帖子

NodeJS中的多线程与fork进程

我试图找到一种更好的方法来使用 NodeJS 运行一些 cpu 绑定任务。据我所知,有 2 个选项,fork processesworker threads。所以我在它们之间运行了一个基准测试,发现 fork 过程更快。

所以,我在这里有一些问题:

  1. 为什么fork进程方法更快?
  2. 工作线程没用吗?或者工作线程有什么优势,消耗更少的cpu/内存?

我正在使用 node v10.15.3 在 MacOS(2.2 GHz Intel Core i7,16 GB 1600 MHz DDR3)上运行代码

基准代码在我的要点中

如您所见,我的代码中使用了线程池库microjob和进程池库node-worker-farm。正在运行的 cmd 是:node --experimental-worker benchmark.js

node.js

9
推荐指数
1
解决办法
1871
查看次数

休息控制器在Spring Boot中不起作用

我已经检查了大多数类似的问题,但找不到答案。因此,我只能发布一个新问题。

我可以成功运行我的应用程序而不会出错,但是我编写的其余api无法正确访问。我已经将启动日志与官方教程进行了比较,然后发现下面没有类似的日志:

2017-11-13 17:37:50.921  INFO 6503 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2328c243: startup date [Mon Nov 13 17:37:49 CST 2017]; root of context hierarchy
2017-11-13 17:37:51.061  INFO 6503 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/greeting]}" onto public hello.Greeting hello.GreetingController.greeting(java.lang.String)
2017-11-13 17:37:51.066  INFO 6503 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-11-13 17:37:51.067  INFO 6503 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-11-13 17:37:51.126  INFO 6503 --- …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot

6
推荐指数
2
解决办法
1万
查看次数

如何在docker中使用unix套接字将nginx连接到php-fpm

有我的docker-compose.yml

version: '2'

services:
    web:
        image: nginx:latest
        ports:
            - "8018:80"
        volumes:
            - ./code:/code
            - ./site.conf:/etc/nginx/conf.d/default.conf
            - /private/var/log/nginx:/var/log/nginx
            - /private/var/run/php7-fpm.sock:/var/run/php7-fpm.sock
        networks:
            - code-network
    php:
        image: php:fpm
        volumes:
            - ./code:/code
            - ./php-fpm.conf:/usr/local/etc/php-fpm.conf
            - ./www.conf:/usr/local/etc/php-fpm.d/www.conf
            - /private/var/run/php7-fpm.sock:/var/run/php7-fpm.sock
        networks:
            - code-network

networks:
    code-network:
        driver: bridge
Run Code Online (Sandbox Code Playgroud)

在site.conf中,我这样写,fastcgi_pass unix:/var/run/php7-fpm.sock;我还将监听地址更改为listen = /var/run/php7-fpm.sockwww.conf。在我的MAC中,在文件夹/ p​​rivate / var / run中以模式666运行了一个名为php7-fpm.sock的文件。

运行之后docker-compose up -d,容器运行成功。但是当我访问http:// localhost:8018时,它返回了502。检查了nginx错误日志后,我发现了这一点

2017/11/01 13:08:39 [错误] 6#6:* 1连接()到Unix:/var/run/php7-fpm.sock在连接到上游时失败(111:连接被拒绝),客户端:172.18 .0.1,服务器:本地主机,请求:“ GET / HTTP / 1.1”,上游:“ fastcgi:// unix:/var/run/php7-fpm.sock:”,主机:“ localhost:8018”

顺便说一句,在尝试使用unix套接字模式之前。我以tcp / ip模式成功访问了http:// …

php nginx docker docker-compose

5
推荐指数
1
解决办法
6852
查看次数

标签 统计

docker ×1

docker-compose ×1

java ×1

nginx ×1

node.js ×1

php ×1

spring ×1

spring-boot ×1