Contenu connexe
Similaire à 深入浅出NodeJS (20)
深入浅出NodeJS
- 3. single-threaded
• Apache is multi-threaded
– thread per request(Apache MPM worker)
– process(Apache MPM prefork)
更多的并发连接,带来更多的线程和内存开销
• Nginx & NodeJS is single-threaded
– but event-based(使其不会阻塞)
– but V8 is multi-threaded(worker threads)
没有了创建额外线程/进程的开销
*Apache 2.4正式支持了Event MPM
- 5. V8 JavaScript Engine
• V8不是线程安全的,所有的V8操作必须从
单个V8线程中执行,这意味着你不可以从
其他线程创建objects, integers, strings, etc.如
果创建的话,可能会种族灭绝哦(内存及
NodeJS会崩溃)。所以NodeJS的机制是在
worker thread(eio线程)中执行阻塞的任
务,任务执行完回调主JS线程。
• Valgrind是一个提供程序调试及性能分析的
工具集,可以查找内存泄露哦。