PHP高并发处理心得
PHP高并发处理心得
服务器配置
1. Web: 4C8G 120GSSD
2. MySQL:2C4G
高并发处理心得
Home of Little Jelly
PHP高并发处理心得
服务器配置
1. Web: 4C8G 120GSSD
2. MySQL:2C4G
高并发处理心得
MySQL事务隔离级别
数据不一致的情况
1. 脏读
A修改某行数据后,B读取,后A回滚,B再读,前后两次不一致。
2. 不可重复读
A多次读取某行数据,中间B修改数据并提交,A再读,数据不一致。
MySQL中`select`默认不加锁,但可以显式地给数据加上共享锁或排他锁。
共享锁
共享锁又称读锁,当一个事务给行加共享锁后,其它事务可以并发读取该行的数据,但任何事务都不能对该行进行写操作。
加共享锁写法:
Tensorflow Keras房价预估.
这是本人练手的一段代码,拿本地一小区的房价做的一个模型训练,数据较少,纯为示范。
交易平台数据实时刷新方案
需求
挂单数据、成交数据、用户余额实时刷新
实现
关键:
WebSocket+Redis
这篇文章针对的是非阿里云ECS的公网服务器使用日志服务Logtail的指南。
安装Logtail
wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/logtail.sh; chmod 755 logtail.sh; sh logtail.sh install cn_beijing_internet
Logtail被安装到`/user/local/ilogtail`
ThinkPHP5默认开启了日志的写入。
如果要彻底关闭日志,打开 `application` 目录下的 `config.php`。
找到 `log`那一块儿,可以看到
服务器快慢因素
快慢因素
1. 内存
2. 硬盘
3. CPU
4. OS Kernel
5. Web Server CPU、内存、IOPS、最大连接数等配置
6. PHP/php-fpm
7. MySQL CPU、内存、IOPS、最大连接数等配置
8. pdo连接延迟
9. netstat TIME_WAIT
对交易平台架构的探索
最开始接手时,Apache+PHP+MySQL,虽有3台web服务器,但基本相当于单机环境。
接手之后,首先使用Memcache实现了session共享,后加入OSS,使之成为分布式环境。
上一个稳定版本的架构是:
PHP请求慢排查心得
自查日志方式
1. 配置Nginx的status和php-fpm的status
2. 配置php-fpm的 request_slowlog_time
3. 根据慢日志查找问题所在