做生活的领导者,
引领大家,走向更好的未来,
让自己在意的人,都能梦想成真。
永远年轻,永远热情洋溢!
做生活的领导者,
引领大家,走向更好的未来,
让自己在意的人,都能梦想成真。
前段时间我突然写起了日记,那段时间我的心情是比较愉悦的,也有很多我想表达但是找不到人倾诉的情绪。
我的日记也是个人的思绪,甚至是应当在写完之后就烧掉的。
而有的人的日记却是可以成为文学佳作的,而我不能。
随时可以坐着写点东西,看点东西,舒舒服服的,也不要抢位置,也不要挪椅子桌子,岂不美哉!
我这里的 License 是 All PACK 的,意味着目前我可以使用 jetbrains 的所有 IDE 一年,包括但不限于 PHPstorm, IDEA, PyCharm, GOLand。
光一个 PHPStorm 原价都要1200一年,曾经打半价活动时花了600买了一年,后来用的某个前同事给的教育版账号,恰好今天过期了,就想尝试一下使用开源项目申请,没想到处理速度这么快!
我用的这个项目申请的: https://github.com/yeskn-studio/vmoex-framework
非常感谢 JB,PHPstorm 真的非常好用!有空我将会在自己的博客和其他项目上加上 jb 的logo和链接,算是支持吧!
截图纪念:
如果你也有认为比较满意的项目,也可以在 jb 的官网申请试试~ 申请链接:https://www.jetbrains.com/shop/eform/opensource
最近用 postman 调试外部的一些 API,发现经常会失败,提示cant’t resole host 啥的,想想似乎是 DNS 解析干的事,于是看了一下自己 mac 上的 DNS,把114优先换成阿里云的:
从上到下分别是:阿里DNS,上海电信 DNS,CF,谷歌。
使用 dig 命令测试发现效果还不错(关键信息已经打码):
➔ dig @223.5.5.5 myhost.com
; <<>> DiG 9.10.6 <<>> @223.5.5.5 myhost.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 64554
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;myhost.com. IN A
;; AUTHORITY SECTION:
com. 443 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 1598332825 1800 900 604800 86400
;; Query time: 14 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Tue Aug 25 13:24:21 CST 2020
;; MSG SIZE rcvd: 118
/path/to/7.4/php.ini
[opcache]
zend_extension=opcache.so
; 1.启用,默认禁用
opcache.enable=1
; 是否用于cli,同opcache.enable
opcache.enable_cli=1
; 由于我希望在php-fpm启动后,不检查文件的变化(减少没必要的资源开支),这里我设置为0;如果设置为1,那么opcache.revalidate_freq生效
opcache.validate_timestamps=0
; 注意这里我注释了,1.表示每秒检查文件变化,0表示每个请求都检查文件变化
; opcache.revalidate_freq=2
重启php-fpm:
kill -usr2 $(cat /path/to/php-fpm@7.4.pid)
这是我的测试代码:
// plus.php
<?php
for($i=0, $total = 0;$i<=10000000;$i++){
$total += $i;
}
echo $total;
ab命令如下:
ab -c 5 -n 50 'https://blog.yeskn.com/plus.php'
开启之前:
Document Path: /plus.php
Document Length: 14 bytes
Concurrency Level: 5
Time taken for tests: 3.745 seconds
Complete requests: 50
Failed requests: 0
Total transferred: 7800 bytes
HTML transferred: 700 bytes
Requests per second: 13.35 [#/sec] (mean)
Time per request: 374.523 [ms] (mean)
Time per request: 74.905 [ms] (mean, across all concurrent requests)
Transfer rate: 2.03 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 27 34 3.9 33 43
Processing: 147 317 74.9 300 443
Waiting: 146 317 74.9 300 443
Total: 189 350 74.7 333 476
Percentage of the requests served within a certain time (ms)
50% 333
66% 389
75% 418
80% 435
90% 469
95% 471
98% 476
99% 476
100% 476 (longest request)
开启之后:
Document Path: /plus.php
Document Length: 14 bytes
Concurrency Level: 5
Time taken for tests: 2.467 seconds
Complete requests: 50
Failed requests: 0
Total transferred: 7800 bytes
HTML transferred: 700 bytes
Requests per second: 20.27 [#/sec] (mean)
Time per request: 246.721 [ms] (mean)
Time per request: 49.344 [ms] (mean, across all concurrent requests)
Transfer rate: 3.09 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 27 34 4.6 33 47
Processing: 102 197 52.4 188 295
Waiting: 101 197 52.4 188 295
Total: 135 231 52.2 229 327
Percentage of the requests served within a certain time (ms)
50% 229
66% 266
75% 279
80% 285
90% 300
95% 311
98% 327
99% 327
100% 327 (longest request)
可以看到,QPS提升了大概0.5倍,并且速度提升很大,启用opcache后,最慢的请求只有327ms,没启用时,50%的请求都要大于333ms,提升效果显著。
以上测试用的是默认配置,如果进行合理的配置,我相信优化会更加明显!
执行systemctl status
时,发现如下输出:
➔ systemctl status
● hostname
State: degraded
Jobs: 0 queued
Failed: 1 units
Since: Tue 2018-10-30 06:51:31 CST; 1 years 9 months ago
CGroup: /
├─1 /usr/lib/systemd/systemd --system --deserialize 21
state的状态是degraded
,查了一下发现是由于我的nginx service未启动,因为前几天手动编译安装了nginx,并且新建了一个nginx@1.18.service,所以这个service其实没用到了,把它清理掉吧:
systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] # and symlinks that might be related
rm /usr/lib/systemd/system/[servicename]
rm /usr/lib/systemd/system/[servicename] # and symlinks that might be related
systemctl daemon-reload
systemctl reset-failed
由于wordpress建议安装imagick,而它默认没有加入到php源码中,于是记录一下自己编译安装imagick扩展的过程:
wget https://pecl.php.net/get/imagick-3.4.4.tgz
tar -xvf imagick-3.4.4.tgz && cd imagick-3.4.4
/usr/local/opt/php@7.4/bin/phpize
# 这个目录似乎没用到
mkdir /usr/local/opt/imagick
./configure --prefix=/usr/local/opt/imagick --with-php-config=/usr/local/opt/php@7.4/bin/php-config
报错:
checking ImageMagick MagickWand API configuration program... checking Testing /usr/local/bin/MagickWand-config... Doesn't exist
checking Testing /usr/bin/MagickWand-config... Doesn't exist
checking Testing /usr/sbin/bin/MagickWand-config... Doesn't exist
checking Testing /opt/bin/MagickWand-config... Doesn't exist
checking Testing /opt/local/bin/MagickWand-config... Doesn't exist
configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.
解决办法:
yum install -y ImageMagick-devel
最后:
make && make install
vi /usr/local/etc/php/7.4/php.ini
# 在最后加入:
extension=imagick.so
# 查看是否OK:
/usr/local/opt/php@7.4/bin/php -m | grep imagick
重启php-fpm生效:
systemctl restart php-fpm@7.4