V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cs5117155  ›  全部回复第 6 页 / 共 7 页
回复总数  130
1  2  3  4  5  6  7  
2021-06-17 17:17:51 +08:00
回复了 cs5117155 创建的主题 PHP PHP 高并发日志丢失问题
@cbasil 我是看 thinkphp5 的文件日志驱动类
```php
protected function write($message, $destination, $apart = false)
{
//检测日志文件大小,超过配置大小则备份日志文件重新生成
if (is_file($destination) && floor($this->config['file_size']) <= filesize($destination)) {
rename($destination, dirname($destination) . DS . time() . '-' . basename($destination));
$this->writed[$destination] = false;
}

if (empty($this->writed[$destination]) && !IS_CLI) {
if (App::$debug && !$apart) {
// 获取基本信息
if (isset($_SERVER['HTTP_HOST'])) {
$current_uri = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
} else {
$current_uri = "cmd:" . implode(' ', $_SERVER['argv']);
}

$runtime = round(microtime(true) - THINK_START_TIME, 10);
$reqs = $runtime > 0 ? number_format(1 / $runtime, 2) : '∞';
$time_str = ' [运行时间:' . number_format($runtime, 6) . 's][吞吐率:' . $reqs . 'req/s]';
$memory_use = number_format((memory_get_usage() - THINK_START_MEM) / 1024, 2);
$memory_str = ' [内存消耗:' . $memory_use . 'kb]';
$file_load = ' [文件加载:' . count(get_included_files()) . ']';

$message = '[ info ] ' . $current_uri . $time_str . $memory_str . $file_load . "\r\n" . $message;
}
$now = date($this->config['time_format']);
$server = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '0.0.0.0';
$remote = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0';
$method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'CLI';
$uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
$message = "---------------------------------------------------------------\r\n[{$now}] {$server} {$remote} {$method} {$uri}\r\n" . $message;

$this->writed[$destination] = true;
}

if (IS_CLI) {
$now = date($this->config['time_format']);
$message = "[{$now}]" . $message;
}

return error_log($message, 3, $destination);
}

```
最后也是用 error_log 写入的,但是我就是 TP5 提供的 sql.log 日志,也漏某一个时刻的
2021-06-17 14:24:14 +08:00
回复了 cs5117155 创建的主题 PHP PHP 高并发日志丢失问题
@iyaozhen
我添加一些详细的信息,服务器是 2 核心,4GB,40GB 硬盘。系统是 CentOS 7.7.1908,运行环境是宝塔,而且有一个 Mysql 表会不断更新硬件心跳,250 台机器左右,每 40s 会更新一次心跳。但平时用户比较少,只有晚上高峰期才会出现不同用户在同一时刻下单,而且现在用户才 2000 个,怎么也想不出这点用户,会在哪里情况下某时刻日志会丢的。
然后我通过 命令查看`pidstat -d 1`查看平时的 IO
```bash
# pidstat -d 1
Linux 3.10.0-1062.18.1.el7.x86_64 (iZwz9638raamc1mnqs77lgZ) 06/17/2021 _x86_64_ (2 CPU)

01:51:21 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:22 PM 0 332 0.00 3.96 0.00 jbd2/vda1-8
01:51:22 PM 1002 1528 0.00 47.52 0.00 redis-server
01:51:22 PM 1003 1878 3.96 122.77 79.21 mysqld
01:51:22 PM 1000 1920 0.00 3.96 0.00 nginx
01:51:22 PM 1000 2248 0.00 3.96 0.00 php-fpm
01:51:22 PM 1000 2253 0.00 3.96 0.00 php-fpm
01:51:22 PM 1000 31997 0.00 3.96 0.00 php-fpm

01:51:22 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:23 PM 1002 1528 0.00 28.00 0.00 redis-server
01:51:23 PM 1003 1878 0.00 72.00 48.00 mysqld
01:51:23 PM 1000 15198 0.00 4.00 0.00 php-fpm

01:51:23 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:24 PM 0 332 0.00 12.00 0.00 jbd2/vda1-8
01:51:24 PM 1002 1528 0.00 28.00 0.00 redis-server
01:51:24 PM 1003 1878 4.00 76.00 48.00 mysqld
01:51:24 PM 0 1995 0.00 4.00 0.00 BT-Panel
01:51:24 PM 1000 15200 0.00 4.00 0.00 php-fpm
01:51:24 PM 1000 19628 0.00 8.00 0.00 php-fpm


01:51:25 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:26 PM 0 332 0.00 4.00 0.00 jbd2/vda1-8
01:51:26 PM 1002 1528 0.00 24.00 0.00 redis-server
01:51:26 PM 1003 1878 0.00 2140.00 32.00 mysqld
01:51:26 PM 0 1995 0.00 4.00 0.00 BT-Panel
01:51:26 PM 1000 2254 0.00 4.00 0.00 php-fpm


01:51:30 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:31 PM 1002 1528 0.00 56.00 0.00 redis-server
01:51:31 PM 1003 1878 4.00 148.00 96.00 mysqld
01:51:31 PM 1000 2250 0.00 4.00 0.00 php-fpm
01:51:31 PM 1000 15703 0.00 4.00 0.00 php-fpm

01:51:33 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command

01:51:34 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:35 PM 0 332 0.00 88.00 0.00 jbd2/vda1-8
01:51:35 PM 1002 1528 0.00 48.00 0.00 redis-server
01:51:35 PM 1003 1878 4.00 128.00 80.00 mysqld
01:51:35 PM 1000 1920 0.00 4.00 0.00 nginx
01:51:35 PM 1000 1921 0.00 8.00 0.00 nginx
01:51:35 PM 1000 2249 0.00 4.00 0.00 php-fpm
01:51:35 PM 1000 2251 0.00 4.00 0.00 php-fpm
01:51:35 PM 1000 2254 0.00 4.00 0.00 php-fpm

01:51:35 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:36 PM 1002 1528 0.00 104.00 0.00 redis-server
01:51:36 PM 1003 1878 4.00 2452.00 176.00 mysqld
01:51:36 PM 0 1995 0.00 4.00 0.00 BT-Panel
01:51:36 PM 1000 2253 0.00 4.00 0.00 php-fpm
01:51:36 PM 1000 14284 0.00 4.00 0.00 php-fpm
01:51:36 PM 1000 15200 0.00 4.00 0.00 php-fpm
01:51:36 PM 1000 15209 0.00 4.00 0.00 php-fpm
01:51:36 PM 1000 19628 0.00 4.00 0.00 php-fpm
01:51:36 PM 1000 19629 0.00 4.00 0.00 php-fpm

01:51:36 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:37 PM 1002 1528 0.00 40.00 0.00 redis-server
01:51:37 PM 1003 1878 4.00 100.00 64.00 mysqld
01:51:37 PM 1000 16440 0.00 4.00 0.00 php-fpm
01:51:37 PM 1000 19627 0.00 4.00 0.00 php-fpm

01:51:37 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:38 PM 1002 1528 0.00 28.00 0.00 redis-server
01:51:38 PM 1003 1878 0.00 72.00 48.00 mysqld
01:51:38 PM 1000 31997 0.00 8.00 0.00 php-fpm

01:51:38 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:39 PM 1002 1528 0.00 20.00 0.00 redis-server
01:51:39 PM 1003 1878 4.00 52.00 32.00 mysqld
01:51:39 PM 0 1995 0.00 4.00 0.00 BT-Panel
01:51:39 PM 1000 15332 0.00 4.00 0.00 php-fpm

01:51:39 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:40 PM 1002 1528 0.00 24.00 0.00 redis-server
01:51:40 PM 1003 1878 0.00 72.00 48.00 mysqld
01:51:40 PM 1000 2248 0.00 4.00 0.00 php-fpm

01:51:42 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:43 PM 1002 1528 0.00 28.00 0.00 redis-server
01:51:43 PM 1003 1878 0.00 76.00 48.00 mysqld
01:51:43 PM 1000 2247 0.00 4.00 0.00 php-fpm
01:51:43 PM 1000 19629 0.00 4.00 0.00 php-fpm

01:51:43 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:44 PM 1002 1528 0.00 108.00 0.00 redis-server
01:51:44 PM 1003 1878 8.00 296.00 192.00 mysqld
01:51:44 PM 1000 1921 0.00 4.00 0.00 nginx
01:51:44 PM 1000 2253 0.00 4.00 0.00 php-fpm
01:51:44 PM 1000 2254 0.00 4.00 0.00 php-fpm
01:51:44 PM 1000 14284 0.00 4.00 0.00 php-fpm
01:51:44 PM 1000 14285 0.00 4.00 0.00 php-fpm
01:51:44 PM 1000 15199 0.00 4.00 0.00 php-fpm
01:51:44 PM 1000 15332 0.00 4.00 0.00 php-fpm

01:51:44 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:45 PM 0 1995 0.00 4.00 0.00 BT-Panel

01:51:45 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:46 PM 0 332 0.00 8.00 0.00 jbd2/vda1-8
01:51:46 PM 1002 1528 0.00 20.00 0.00 redis-server
01:51:46 PM 1003 1878 0.00 2332.00 32.00 mysqld
01:51:46 PM 1000 2250 0.00 4.00 0.00 php-fpm
01:51:46 PM 1000 15198 0.00 4.00 0.00 php-fpm

01:51:46 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:47 PM 1002 1528 0.00 20.00 0.00 redis-server
01:51:47 PM 1003 1878 4.00 52.00 32.00 mysqld
01:51:47 PM 1000 15703 0.00 4.00 0.00 php-fpm

01:51:47 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:48 PM 1002 1528 0.00 56.00 0.00 redis-server
01:51:48 PM 1003 1878 4.00 148.00 96.00 mysqld
01:51:48 PM 1000 2249 0.00 4.00 0.00 php-fpm
01:51:48 PM 1000 15199 0.00 4.00 0.00 php-fpm
01:51:48 PM 1000 19628 0.00 4.00 0.00 php-fpm

01:51:48 PM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
01:51:49 PM 1002 1528 0.00 12.00 0.00 redis-server
01:51:49 PM 1003 1878 0.00 24.00 16.00 mysqld
01:51:49 PM 1000 2251 0.00 4.00 0.00 php-fpm
```
2021-06-17 11:35:35 +08:00
回复了 cs5117155 创建的主题 PHP PHP 高并发日志丢失问题
@l4ever 那这个 io,我需要怎么测试才知道最大处理是多少 mb 的
2021-06-06 10:54:24 +08:00
回复了 cs5117155 创建的主题 PHP 使用 openssl_verify 签名校验 SHA256withRSA 的问题
@thunderw 果然厉害,之前我一直都是用 Paypal-Cert-Url,Paypal-Auth-Algo,Paypal-Transmission-Id 这样的关键词搜索,还真无想到用你那个关键词搜 😄
2021-06-05 23:12:16 +08:00
回复了 cs5117155 创建的主题 PHP 使用 openssl_verify 签名校验 SHA256withRSA 的问题
@rockyliang 这个每次收到异步请求,都要再 post 请求一次,我怕会担心资源消耗
2021-06-05 23:11:13 +08:00
回复了 cs5117155 创建的主题 PHP 使用 openssl_verify 签名校验 SHA256withRSA 的问题
@thunderw 果然是要 base64_decode($signature),webhook ID 是后台配置固定的那个。而且我也很佩服你搜什么关键字找到这个 https://www.bahjeez.com/validating-paypal-webhooks-offline-almost/ 连接,我谷歌一上午找不到合适的答案
2021-05-26 18:33:11 +08:00
回复了 cs5117155 创建的主题 PHP 求一个分销佣金比例算法,各个用户的佣金不超过总和 100%
@nulIptr 我查询出来的时候,已经按层级顺序展示出来了,保证根节点的孩子节点之和不大于 100,这个改动代码有些多,所以想换一个方式
2021-05-11 11:58:05 +08:00
回复了 cs5117155 创建的主题 程序员 二进制数据累加求和,取低八位
谢谢大家,原来我自已程序过滤了一个字节,导致结果错误了,2631 是对的
加 qq 了
2021-02-06 14:03:15 +08:00
回复了 cs5117155 创建的主题 PHP 如何把 var_dump 打印的数组,还原成 var_export 打印的格式
@zhuzhibin 问题是我不能修改它的源码
2021-01-26 22:19:59 +08:00
回复了 cs5117155 创建的主题 MySQL 求一个 mysql 语句同时满足两列的条件进行筛选
@deargodfrey 这个也不错
2021-01-23 18:01:46 +08:00
回复了 cs5117155 创建的主题 MySQL 求一个 mysql 语句同时满足两列的条件进行筛选
good
2020-12-05 14:22:15 +08:00
回复了 cs5117155 创建的主题 MySQL MySQL CASE WHEN 语法如何并接子查询
@c6h6benzene good,谢谢可以了,第一次写这个 case when 有点绕了
2020-12-05 11:05:59 +08:00
回复了 cs5117155 创建的主题 MySQL MySQL CASE WHEN 语法如何并接子查询
@c6h6benzene 还是不知道怎么写😅,能把 CASE WHEN 也加上,写个详细的吗
@raptor 确实,有些文章我也觉得那个作者究竟会不会的
@Jooooooooo 都研究那么深入的吗,刚刚我又把你关键词`MESI`搜索了一下,不然再往下深入了
@HENQIGUAI 这个链接内容我喜欢,太有意思了
2020-09-24 15:33:38 +08:00
回复了 wangyuhang 创建的主题 程序员 大家同意 80%是自己下班自学这句话吗?
@Desiree 说得有点道理,当客服,产品经理天天催你某个问题解决的时候,心理就特别烦躁
@jdhao 这个也是一个原因,知识不够广度,每次都能听到新技术名词
@krixaar 你说好对,有时候做其他事情,有时也会无缘无故偏移初衷了
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5073 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 08:36 · PVG 16:36 · LAX 01:36 · JFK 04:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.