论文部分内容阅读
随着宽带技术的不断发展,通过高速互联网提供的电视服务正在成为现实,而IPTV就是这种利用宽带网络为用户提供交互式多媒体服务的一种业务.与传统的电视想比,IPTV的交互式特点有很强的优越性。而EPG(Electronic Program Guide)作为IPTV的节目导航系统,是实现交互式访问的重要组成部分,它的性能在多用户并发访问时,显得尤为重要。目前,EPG的性能问题就是一个迫切需要研究的问题。本文以某大型IPTV系统中的EPG模块为研究实例,提出了两种性能提高方法和一种新的Cache替换算法。在EPG服务器性能瓶颈诊断及解决方法中,首先分析了原有的性能瓶颈诊断方法的不足,设计并开发了一个Apache日志分析器,此工具可以通过对现场EPG服务器上的Apache日志进行分析得到现场EPG的性能状况和用户访问规律。提出使用loadrunner ,xdebug和Apache日志分析器三种工具相结合的方式诊断到到EPG的性能瓶颈。EPG最大的两个性能瓶颈为:公共常量的定义和数据库的读取。在实施过程中,通过php四种参量定义方式的对比测试来选择一种性能最佳的参量定义方式,性能瓶颈一得到解决。通过调节Mysql的缓存参数缓解了数据库访问压力,改善了瓶颈二导致的性能问题。对于其他的一些性能瓶颈或者性能不佳之处也提供了解决之道,如:改进页面提示信息的存放方式,设计EPG_Assissant降低通信时的性能损耗,探索式方法来调节Apache的参数等。最后通过实践证明该方法在一定程度上提高了性能。在基于EPG请求预测的Cache替换算法中,通过利用Apache日志分析器分析的数据总结出现场用户的访问规律,构造了一个请求预测矩阵,并提出续留因子的概念和计算公式,当Cache中空间不足时,更新Cache中所有数据的续留因子,并替换出续留因子最小的数据。最后设计并实现了一个DB_Cache,在DB_Cache中实现了此算法。性能测试结果证明此算法和系统大大改进了EPG的性能。在基于数据库集群的性能提高方法中,首先分析原EPG系统中Mysql服务器布局的不足和Mysql Cluster的优势,提出将Mysql Cluster应用到EPG系统中。并且详细论述了Mysql Cluster的安装配置和启动等。最后通过实践证明了该方法使性能有了进一步提高。最后还具体介绍了UT斯达康的EPG系统。