OpenX 信息:在 Apache 2.2.19、PHP 5.3.6 和 MySQL 5.1.56-log 下运行的 OpenX v2.8.7。
我在分布式 OpenX 安装中遇到了一些问题。
我的架构基于一个具有全局数据库和管理界面的 MASTER 服务器和一些具有本地数据库的 SLAVE 服务器(现在是一个),为横幅提供服务。
MASTER 的 MySQL 复制工作正常(因为 master 中的每个更改都复制到 slave)并且维护脚本(master 的 maintenance.php 和 SLAVE 的 maintenance-distributed.php)看起来运行良好(没有错误的调试痕迹)。该系统是按照分布式系统的 OpenX 文档进行配置的。
这些是运行维护脚本的 cronjobs:
掌握
5 * * * * /usr/local/bin/php /var/www/scripts/maintenance/maintenance.php www.mydomine.com
奴隶
10,25,40,55 * * * * /usr/local/bin/php /var/www/scripts/maintenance/maintenance-distributed.php www.mydomine.php
问题是印象摘要没有被计算并显示在管理界面(在主服务器上),我一直在调试,我最终得到了下一个结果:
- 横幅服务正常
- 从服务器正在记录印象数
- 从服务器正在将数据发送回 MASTER OK
- master正在从服务器获取数据(表 ox_data_bkt_* 已满)
- master没有在管理界面汇总数据
这是来自 MASTER 数据库的示例查询:
select interval_start, sum(count) from ox_data_bkt_m group by interval_start;
结果包含从 SLAVE 记录并发送到 MASTER 的所有印象。
+---------------------+------------+
| interval_start | sum(count) |
+---------------------+------------+
| 2011-06-25 10:00:00 | 1883133 |
| 2011-06-25 11:00:00 | 2074979 |
| 2011-06-25 12:00:00 | 2239609 |
+---------------------+------------+
5 rows in set (0.00 sec)
但是在管理界面上我对那个时代没有印象......
尝试了一些事情,我们意识到脚本scripts/maintenance/tool/republish.php实际上解决了过去统计数据的问题,但新的仍然没有出现。我们发现在 MASTER 上的每个维护周期之后使用 republish.php 脚本将获得正确的数字,但我认为这是一个肮脏的修复,必须是一个真正的解决方案。