Tag: 优化

如何通过二分查找搜索在区块链上根据时间戳定位区块?

前两天,我想查一下自己在 STEEM 区块链上一些重要记录对应的区块号,比如: 注册了我的账号 #4253590 成为见证人 #20190755 挖到我的第一个区块 #20390040 被孙宇晨大佬代理了 SP #41676911 收到一笔 DAO 收入 #95403889 当时手头只有时间戳,却不知道对应的是哪个区块,于是我想到可以用二分查找(binary search)算法来定位。 其实,这个思路在其它区块链上同样适用,并不依赖于特定的链(如 Steem、以太网/Ethereum、比特币/Bitcoin 等)。虽然具体的实现细节(RPC 方法名、时间戳格式等)会有所不同,但整体逻辑是一致的:通过 RPC API 获取某个区块的时间戳;获取最新区块作为上界;然后在区间内使用二分查找。通过多次查询区块时间戳,就能把给定的时间戳映射到最接近的区块号,算法复杂度约为 O(log N)。 当然,大多数区块链也会提供专门的 API …

同一台服务器上多个WORDPRESS站点的一些设置可以移出去

我自从把所有网站都挪到一处VPS服务器上 就发现很多事情省事很多 可以同时管理多个网站 包括 WORDPRESS博客. 比如我有四个WORDPRESS博客 然后我就把通用的一些资料给移出去 移到 HTTP或者HTTPS都不能直接访问的文件夹里这样就更安全许多. 文件 wp-conn.php 存储了 相同的数据库资料. /** MySQL hostname */ define('DB_HOST', 'localhost'); /** MySQL database username */ define('DB_USER', 'username'); /** MySQL database …

升级到 PHP 5.5 之后内置 OpCache 加速缓存

在折腾好VPS之后, 就打了一条 sudo apt-get upgrade 然后显示PHP版本已经更新到 5.5.9.查了一下更新记录,其中最重要的是就是 PHP5.5 之后就内置加速缓存 OpCache (默认就是开启的). 在 php_info(); 命令之后则有一块很重要的新模块: 也就是说 PHP 会把一些常用的文件编译成 Opcode 放内存中供下次调用,这样就会省时间,因为PHP是动态语言,每次 apache 服务器去解释PHP程序很耗时间的. 在 PHP5.5 之前,有类似的开源模块,比如 APC (Another PHP Cache), 用得也很多, …

VPS低配置服务器优化的一些方法

11号晚上开始, 未托管的VPS就发了疯一样, 只要一启动 sudo service apache2 start CPU用量就接近 100%, 然后如果你不去管它的话, 很快服务器就停止反应, 只能从控制面版里重启. 虽然有在前面放个cloudflare挡一下, 但是免费的(cache size 好像才 100M)感觉不是很好用,而且免费ssl有点坑.后来, 果断禁掉了一些IP (大多是疯狂没有节制的搜索爬虫),并且加强了安全,防止 root 帐号被暴力破解. 再一次查看最耗资源的进程,发现仍然是 apache2 请求.于是果断先备份所有数据文件, 然后尝试不同的参数配置(默认的对于我的情况不是很靠谱),以下是针对我的VPS的配置,我的VPS是双核 2.8G, 1G 内存, 20G …

为什么尽可能不要用 302 重定向?

相信大家都很清楚 301 和 302 重定向, 区别就是一个是 301 是 永久, 302是暂时. 在换了新域名之后,很多博主则需要把原来的地址做一个 301 重定向,意思是说网址已经更新到 新的地址,SEO分数则要算在新的 地址上. 302则相反,比如只是临时换了一个网址并不打算长期使用,所有分数还是要保留在原来的网址上,这时候只是暂借. 搜索引擎在评分时会判断两个网址是不是属于同一个人 (e.g. Whois lookup) 如果不是,就会惩罚 302 转向.因为很有可能是 Spam.想想, 如果我我网站 302 重定向到 坛子那, 难道 …

几条WordPress 博客 有用的 SQL 语句

WordPress 强大是有它的道理,主要原因是它是基于PHP(开源,灵活,快速开发) WordPress 搭建的博客是动态的,因此需要一些缓存插件来避免服务器重复的查询SQL数据库.我建议是少装插件,尽量用PHP和 MySQL 自己写. 如果你移动了博客的地址,那么就会需要以下几条SQL语句来更新文章中的地址(文章也是存在MYSQL数据库中) UPDATE wp_posts SET post_content = REPLACE (guid, 'OLD URL', 'NEW URL'); UPDATE wp_posts SET guid = REPLACE (guid, 'OLD URL', 'NEW URL'); …

网站流量过大, 屡次被提供商禁止.

我的网站运营商是 www.ukreg.com / fasthosts. 之前用得都挺好的.人性化的控制界面,100G的空间, SQL服务器等. 去年开始,有数次收到邮件说我的网页用了太多的资源,于是就把我的网站给禁了, 每次在弄好了之后,经常文件都被弄丢失,因此我都有备份的习惯. “Your site is spawning at least 2 php processes that are constantly using between 50 and 100 cpu.” 昨天觉得不能老这样折腾.于是把一些页面统计的 SQL 语句给屏蔽掉了. …