OrzClick: 国庆写个 ClickHouse 客户端

2020-10-09
阅读 7 分钟
4.6k
我看 ClickHouse 有 C++ 客户端(clickhouse-cpp),我又用过 PHP-CPP 写扩展,于是就在国庆写了 OrzClick ,一个 PHP 用的 ClickHouse 客户端。

记一次 K3s MySQL 启动 OOM 排查

2019-09-29
阅读 6 分钟
3.4k
以前用Docker Compose做开发环境,MySQL也在Docker里运行,一切使用正常。后来开发环境迁移到K3s(轻量级的K8s),但是MySQL一启动就被OOM Killer干掉,所以一直没迁移MySQL。

K3s:轻量的Kubernetes

2019-04-08
阅读 2 分钟
5.8k
K3s是一个轻量的K8s,主要面向IOT、Edge、CI等场景。 Lightweight Kubernetes. 5 less than k8s. K3s和K8s的对比,移除了: 非默认的、遗留的特性 Alpha阶段的特性 In-tree的云服务提供商 In-tree的存储驱动 Docker (可选) 带来了: 简化安装 SQLite3支持,替代etcd TLS管理 自动的Manifest和Helm Chart管理 containerd,...

理解真实世界的并发Bug

2019-03-03
阅读 3 分钟
5.5k
在 Understanding Real-World Concurrency Bugs in Go 这篇论文里,作者系统地分析了6个流行的Go项目(Docker、Kubernetes、gRPC-go、etcd、CockroachDB、 BoltD)和其中171个并发bug,通过这些分析我们可以加深对Go的并发模型的理解,从而产出更好、更可靠的代码。

PHP 7.4 前瞻:FFI

2019-03-03
阅读 5 分钟
5.2k
FFI(Foreign Function Interface),即外部函数接口,是指在一种语言里调用另一种语言代码的技术。PHP的FFI扩展就是一个让你在PHP里调用C代码的技术。

用Consul管理Laravel项目配置

2018-06-28
阅读 2 分钟
5.1k
在预生产环境跑了一年多,在此记录和分享一下。 问题 & 其他方案 当我们需要在多台服务器部署多个不同的项目时,我们需要一个集中的配置信息管理和同步的工具。考虑过的方案有: 用rsync同步.env文件:多个项目的配置略繁琐,要ssh到服务器修改再同步 用Docker:集群部署比较方便,可以用图形界面修改环境变量,但是...

用 RoadRunner 加速 Laravel 应用

2018-06-20
阅读 3 分钟
9k
RoadRunner首先用Go实现了一个高性能的服务器,然后通过goridge IPC把请求转发给多个PHP CLI Worker,Worker会把请求重新封装成PSR-7 Request交给框架进行处理。

通过WebAssembly在浏览器运行PHP

2018-05-30
阅读 2 分钟
11k
某天晚上,在看Emscripten的文档,发现Emscripten有emconfigure和emmake,可以直接用Emscripten替换编译器实现项目移植,灵光一现就有了这个项目。

Opbeat已死,请用Elastic APM

2018-05-15
阅读 3 分钟
17.4k
今天收到Opbeat即将关闭的邮件。APM服务众多,Opbeat有什么优势呢? 简单,UI简洁 可以和Git集成,方便看版本发布后性能变化 类似sentry的错误收集功能 后来Opbeat被Elastic收购了,做成了Elastic APM,过了快一年终于迎来关服,下面看看Elastic APM表现如何。 Docker快速部署 官方文档的一张图,架构上Elastic APM和ES...

用OpenCV在浏览器进行人脸检测

2018-04-27
阅读 4 分钟
16k
最近picojs上了Github Trending,这是一个小巧的人脸检测库,200行JS,2K大小,性能很好,效果也还还行。于是我想有没其他的能在浏览器跑的人脸检测库,一查才发现OpenCV已经支持编译到WebAssembly,也就可以直接在浏览器里使用了。

Movidius神经计算棒初体验

2018-03-12
阅读 7 分钟
28.2k
Intel® Movidius™ 神经计算棒(NCS)是个使用USB接口的深度学习设备,比U盘略大,功耗1W,浮点性能可达100GFLOPs。

快速去除UTF-8 BOM

2017-12-28
阅读 3 分钟
9k
工作中多多少少都会遇到UTF-8 BOM(后面直接叫BOM),有时第三方工具不支持就要自己去掉BOM,例如阿里云导出的SQL文件是有BOM的,但是Navicat不支持,这就要去掉BOM了。

为Pony添加ETW支持

2017-12-20
阅读 1 分钟
2.5k
退而求其次,我为尝试给Pony加了ETW(Event Tracing for Windows)支持(分支etw-tracelogging)。ETW其实更像是高性能的日志而不是动态跟踪,虽然也能拿到堆栈,但是性能、灵活性、安全性都差DTrace很多。实现方法也比较简单,就是把原来DTrace宏换成TraceLogging API调用。

随机二选一负载均衡

2017-12-06
阅读 1 分钟
2.4k
我们有个应用,基本架构是前面有几个API网关,后面有多个有状态的服务节点,用户的操作都是走API网关,API网关把请求转发给客户对应的服务节点。自然我们希望服务节点的负载尽量平均。

为pony程序添加IACA标记(二)

2017-11-22
阅读 7 分钟
2.1k
在上一篇文章介绍了一种加IACA标记的方法,但使用还是很麻烦,所以我尝试修改pony编译器,直接增加了IACA支持,目前代码在iaca分支。 使用方法 因为还没发PR到上游,所以要自己克隆编译。 {代码...} 然后安装官方的编译步骤编译就好了,通常就是一句make。 在需要添加IACA标记的代码加上IACA.start()和IACA.stop()就可以...

为pony程序添加IACA标记(一)

2017-11-07
阅读 4 分钟
2.3k
IACA(Intel® Architecture Code Analyzer)是Intel出品的静态代码分析工具,可以用来分析代码的数据依赖、代码吞吐量、延迟,对于理解CPU执行和性能优化有很大帮助。

Windows下调试pony程序

2017-11-01
阅读 1 分钟
1.7k
pony在3年以前去掉了windows下调试信息生成,非常暴力: {代码...} 也就是固定去除调试信息选型。 但是我有主要使用Windows进行开发,这就很不方便了,于是尝试把这个选项去掉,然后加上CodeView信息生成(一共就改两行代码)。 再编译发现LLVM会出错: {代码...} 这错误说明在pony编译器里生成了不正确的信息,要改正必...

php-stacktrace: PHP进程外查看函数调用堆栈

2017-10-11
阅读 2 分钟
6.4k
一个方法是strace跟踪系统调用和参数,这样能大概知道PHP进程在干啥。要看到具体的PHP函数就需要用PHP扩展(xdebug、xhprof)或者用GDB调试,高级点还可以用DTrace。

为你的项目依赖加星

2017-09-17
阅读 1 分钟
1.7k
几天前看到一个Haskell项目:y-taka-23/thank-you-stars, 功能很简单,就是检查项目依赖,然后去 Github 加星。Github 搜了一下,发现很多语言都有类似的项目,但是 PHP 没有,所以自己撸了一个 PHP 版的:oraoto/thank-you-stars