进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。
最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。
1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。
最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。
1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。
作者:肖飞,2011年加入京东,目前在交易平台,主导交易平台核心系统的架构优化和技术攻关,以及公共技术组件和平台的建设。
庞大复杂的系统通常会采用服务化组件来实现。系统越复杂,组件之间的依赖和调用关系也会越复杂。对于处于底层的基础服务,直接和间接的调用所带来的流量压力非常大。处于中间层的聚合型服务,面对的挑战则是依赖的服务太多,后端个别服务的性能延迟就会影响其吞吐量。性能优化是我们系统稳定性中的重要一环,这其中,调用所依赖的RPC服务或后端数据是重点之一。
目前,除了传统JDBC这样从API到主流驱动实现就是阻塞式的类库之外,其他常用的RPC/HTTP服务、MQ、Redis、Mongodb、Kafka等系统都提供了成熟的基于NIO的客户端库,也有相应的异步API。
[Read more…]10月22日,我删除了使用7年多的人Linode,共消费过1W多RMB,用着很舒服,很稳定,只是无奈于最近经常被封,趁着这次备案,将博客转移回国内腾讯云上了。
[Read more…]之前本博客使用过 w3tc,后来改用 WP Super Cache,用了几年,最近发现还有一个更好用的 WP Rocket,果断从国外网站找了一个免费的试用一下。
随便打开一些开关后,就能正常使用,一点兼容性问题都没有,是真的好用,我现在已经将原来使用的 WP Super Cache 和 Better WordPress Minify 都卸载了。
[Read more…]之前博客响应特别慢,还经常出现“建立数据库连接时出错”这个错误,英文为“Error establishing a database connection”。
通过 top 命令发现 kswapd0 进程 CPU 占用过高,而 kswapd0 进程是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒 kswapd0 进程,由 kswapd0 分配磁盘 Swap 交换空间作缓存,因而占用大量的 CPU 资源。
如果 Swap 空间用光了,那么系统就会发生错误,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。
也正是因为内存不足,造成了数据库MySql进程被杀,导致 WordPress 出现“建立数据库连接时出错”。
[Read more…]Mysql占用CPU过高的时候,该从哪些方面下手进行优化?
占用CPU过高,可以做如下考虑:
Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。
nignx的问题,一般可以通过下面的方法解决,只需要更改nginx配置,增加一句:
error_page 405 =200 http://$host$request_uri;
[Read more…]最近重做的LNMP ,博客、配置、数据库全部重来,还好之前都做好了备份。
但是问题还是有的,需要通过系统日志 /var/log/messages
、PHP日志、MySql日志去分析。
[Read more…]
Copyright © 2024 · Mindstream Child Theme on Genesis Framework · WordPress · Log in
近期评论