·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

探讨一下WordPress优化,做好本地化优化和缓存,读写分离

175 6
发表于 2023-11-16 08:31:45 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
***内容可能违规暂时被隐藏***
我要说一句 收起回复
创宇盾启航版免费网站防御网站加速服务

评论6

浅生Lv.8 发表于 2023-11-16 08:31:57 | 查看全部
不错
我要说一句 收起回复
婷姐Lv.8 发表于 2023-11-16 08:32:55 | 查看全部
读写分离没搞过,不知道麻烦不
我要说一句 收起回复
IT618发布Lv.8 发表于 2023-11-16 08:33:13 | 查看全部
wepublish耗子分享:

WordPress 祖传使用SQL_CALC_FOUND_ROWS进行数量统计并计算分页,但是这个查询语句在大数据量 (W+) 的情况下是很慢的,一个比较好的解决方法是将其替换成更为现代的COUNT语句。
  1. <?PHP/** * Plugin Name: Fix WordPress Slow Queries * Description: Fix WordPress Slow Queries * Author: Mahdi Akrami * Version: 1.0.0 */class FIX_WP_SLOW_QUERY {        public static function init () {                /**                 * WP_Query                 */                add_filter ( 'found_posts_query', [ __CLASS__, 'add_found_rows_query' ], 999, 2 );                add_filter ( 'posts_request_ids', [ __CLASS__, 'remove_found_rows_query' ], 999 );                add_filter ( 'posts_pre_query', function ( $posts, \WP_Query $query ) {                        $query->request = self::remove_found_rows_query ( $query->request );                        return $posts;                }, 999, 2 );                add_filter ( 'posts_clauses', function ( $clauses, \WP_Query $wp_query ) {                        $wp_query->fw_clauses = $clauses;                        return $clauses;                }, 999, 2 );        }        public static function remove_found_rows_query ( $sql ) {                return str_replace ( ' SQL_CALC_FOUND_ROWS ', '', $sql );        }        public static function add_found_rows_query ( $sql, WP_Query $query ) {                global $wpdb;                $distinct = $query->fw_clauses['distinct'] ?? '';                $join     = $query->fw_clauses['join'] ?? '';                $where    = $query->fw_clauses['where'] ?? '';                $groupby  = $query->fw_clauses['groupby'] ?? '';                $count = 'COUNT (*)';                if ( ! empty ( $groupby ) ) {                        $count = "COUNT ( distinct $groupby )";                }                return "                        SELECT $distinct $count                        FROM {$wpdb->posts} $join                        WHERE 1=1 $where                ";        }}FIX_WP_SLOW_QUERY::init ();
复制代码
我要说一句 收起回复
TyCodingLv.8 发表于 2023-11-16 08:34:13 | 查看全部
WordPress官方出品的HyperDB 是一个非常高级的数据库类,它取代了一些 WordPress 内置的数据库功能。主要区别是:
* HyperDB 可以连接到任意数量的数据库服务器,
* HyperDB 检查每个查询以确定合适的数据库。
它支持:
读写服务器(复制)
可配置的读写优先级
本地和远程数据中心
私人和公共网络
不同数据库/主机上的不同表
智能后写主读
故障主机的故障转移
用于分析的高级统计信息
WordPress 多站点
探讨一下WordPress优化,做好本地化优化和缓存,读写分离 点微,西瓜,it618,可可
docker管理系统的URLOS有相关解决方案:https://www.urlos.com/urlos-document/introduction/mysql-master-slave.html
数据库一主多备实现的数据库主从集群,修改db-config.php内的数据库读写分离:
  1. $wpdb->add_database(array(    'host'     => 'mysql57001_master', // 主要数据库地址    'user'     => 'wordpress0_3c9db',    'password' => 'V4ex41r^pGU2E^7TP7l;cUaqcHLxaGa7nQvzz6CPA',    'name'     => 'wordpress0_3c9db',    'write'    => 1, // 给主要数据可写入    'read'     => !defined('DB_HOST_RPL1') ? 1 : 0, // 当从数据库不可用时主要数据库才可读取,如果从数据库可用则从从数据库读取。));if(defined('DB_HOST_RPL1')):    $wpdb->add_database(array(        'host'     => 'mysql57001_slave', // 从数据库地址        'user'     => 'wordpress0_3c9db',        'password' => 'V4ex41r^pGU2E^7TP7l;cUaqcHLxaGa7nQvzz6CPA',        'name'     => 'wordpress0_3c9db',        'write'    => 0,  // 从数据库不可写入        'read'     => 1,  // 从数据库可读取    ));endif;
复制代码
我要说一句 收起回复
拾光Lv.8 发表于 2023-11-16 08:35:11 | 查看全部
直接生成html  杜绝频繁读取  这是所有程序都面临的问题
我要说一句 收起回复
TyCodingLv.8 发表于 2023-11-16 08:35:23 | 查看全部
学习了。马上去使用上
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.118.166.130,GMT+8, 2024-11-15 10:18 , Processed in 0.326697 second(s), 117 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表