1. 神策分析单机版对机器配置的要求?

  • 单机版对机器的配置有如下要求:
    • CPU: 4 核或更高(不含超线程),支持 SSSE3 和 AVX 指令集;
      内存: 24G 或更高;
    • 操作系统: 建议使用 CentOS 7.x 或 RHEL 7.x, 也支持满足内核版本要求的 CentOS 6.x 或 RHEL 6.x
    • 内核版本:>= 2.6.32-674
    • 文件系统:ext4/xfs
    • 硬盘:机器 home 分区可用空间大于 30G,数据盘容量大于 500G,要求如下 
      • 如果是物理磁盘,做 RAID1 或更高级别的配置,以保证数据安全;
      • 如果是云磁盘,需要 SSD 云盘或者其它吞吐在 150MB/s 以上的磁盘;
    • 不支持与其它服务混合部署;
    • 安装需要 root 权限。

2. 神策分析集群版对机器配置的要求?

  • 集群版对于机器的配置有如下要求:
    • 最少 3 个节点;
    • CPU: 16 核或更高(不含超线程,测试用可降至 8 核),支持 SSSE3 和 AVX 指令集;
    • 内存: 64G 或更高;
    • 硬盘: 每台机器 home 分区可用空间大于 30G,数据盘要求如下 
      • 如果是物理磁盘:
        • 2 块系统盘/元数据盘:采用 RAID1 或更高级别,单盘容量 600G 以上,且顺序读写在 150 MB/s 以上,建议采用 SSD 盘;
        • 4 块或以上数据盘:不做 RAID 或 LVM,单盘容量 2T 以上,且总吞吐在 600MB/s 以上;
      • 如果是云磁盘:
        • 1 块元数据盘:SSD 云盘,或其它 IOPS 在 1000 以上的磁盘,容量 600G 以上;
        • 多块数据盘:SSD 云盘,或其它总吞吐在 600MB/s 以上的磁盘,单盘容量 1TB 以上;
    • 操作系统: 建议使用 CentOS 7.x 或 RHEL 7.x, 也支持满足内核版本要求的 CentOS 6.x 或 RHEL 6.x
    • 内核版本:>= 2.6.32-674
    • 文件系统: ext4/xfs
    • 网络:千兆(>= 5 个节点,需使用万兆),所有机器在一个交换机下,并且可以互相 ssh 登录。如果是云服务器尽量开启网络优化。
    • 负载均衡:需要提供独立的前置负载均衡系统。
    • 不支持与其它服务混合部署;
    • 安装需要 root 权限。

3. 神策分析中存储用户行为数据需要多大磁盘?

  • 按经验,1 亿条用户行为数据,在压缩前约 40GB,压缩后约 10GB。特别地,在集群版中默认使用三副本,则 1 亿条数据压缩前约 120GB,压缩后约 30GB。

4. 使用神策分析采集用户行为数据,需要多大带宽?

  • 服务器带宽主要受峰值在线用户数影响,数据采集服务对服务器下行带宽要求远高于上行带宽。对于 App 采集数据,默认每 15 秒压缩并上报一次,按经验,每个用户平均每 5 秒产生一条事 件,则服务器 10Mbps 下行带宽/1Mbps 上行带宽能支持约 5 万峰值在线;对于 JavaScript 采集,由于数据实时上报且无压缩,服务器 10Mbps 下行带宽/1Mbps 上行带宽能支持约 2 万峰值在线。

5. 是否还可以提供数据方面的技术服务?

  • 我们在提供产品以外,还有偿提供如下的技术服务:帮助客户分解数据需求,确定核心指标;帮助客户根据数据需求理清数据源,生成规范的日志数据;帮助客户基于我们的产品产生 Dashboard,监控各个核心指标;应客户需求,协助完成一些具体的数据分析工作。

6. 你们的 Demo 为啥不能导入数据?

  • A:Demo 环境主要是给大家展示神策分析的查询、可视化、分析等方面的信息,导入的数据是我们后台模拟生成自动导入的数据。如果想尝试导入自己的数据进行查询和分析,可以联系我们获取相应的试用环境。

7. 神策分析如何保证客户数据的可靠性?

  • A:神策分析的集群版和单机版,都采用了各种方案,保证数据的高可靠性:
    • 集群版:
      • 神策分析的集群版采用了分布式的存储方案,每份数据都有三倍冗余存储,保证了数据的高可靠性;
    • 单机版:
      • 对于采用云主机的客户,我们推荐客户使用 IaaS 提供的云磁盘(例如 UCloud 的云 SSD 盘)保证磁盘的高可靠性;
      • 对于使用物理机器的客户,我们也建议客户采用至少 RAID10 的底层存储方案,来保证磁盘的高可靠性;
      • 神策分析也建议,客户在应用层能够对短期的数据进行打包和备份;
    • 结合以上的种种方案,可以相信我们为客户的数据提供了很高的可靠性。

8. 神策分析如何保证客户数据的安全性?

  • A:我们从私有部署和云版两种部署来回答这个问题:
    • 私有部署:
      • 从数据存储上,这部分数据是存储在客户自己的机器上,不存在安全顾虑;
      • 从查询接口上,可以只对内网提供查询服务,并且也是有登录权限认证的;
      • 从数据传输上,如果选择后端传输数据,则是内网到内网的传输,不存在安全顾虑,如果是前端埋点,我们支持 https 上报数据然后再内网转发
    • 云版:
      • 从数据存储上,我们提供的是单租户的部署方案,不同客户之间数据是完全物理隔离的;
      • 从查询接口上,不同客户是不同的权限账号体系,也有不同的查询 token;
      • 从数据传输上,不同客户使用不同数据上报 token,我们也支持 https 上报数据

9. 私有部署版的神策分析应该如何选择服务器的配置:

  • A:神策分析支持在不同配置、不同规模的服务器上运行,而影响服务器配置选择的因素其实是非常复杂的,包括但不限于以下这些:

    • 每天导入的数据量:例如每天约需要导入 1000w 用户行为,且往后每月约增长 20%。
    • 历史积累的数据量:例如已经有 3 年,累计 100 亿的历史数据,且希望在一周之内完成导入。
    • 查询分析场景:例如大部分查询分析都使用最近一个月的数据,希望能够在 10 秒内得出结果;少数查询分析使用几个月或更长的数据,希望在一分钟内得出结果;可以接受在一些场景下使用抽样查询。
    • 平台使用场景:例如需要和 CRM、营销推送系统等进行对接,或者需要基于神策分析的数据进行离线数据挖掘等。

    神策分析的咨询顾问会根据以上信息为使用者进行详细的评估并给出最合适的服务器配置建议,而如果使用者暂时不能提供足够的信息,我们会按照典型的使用场景来进行推荐。由于神策分析可以非常容易的支持数百万至数千亿数据规模的平滑扩容,因此我们通常会建议先用较低的配置开始部署,之后再根据系统实际的使用情况按需随时进行调整,以最大限度的节约使用者的成本。

10. 神策分析的查询性能是由哪些因素影响的?如何提升查询性能?

  • A:神策分析的查询性能,是由以下一些因素影响的:

    • 单次查询所扫描的数据量越少,查询会越快。需要注意的是,系统里面存储的总的数据量,并不会影响神策分析的查询速度,查询速度只与该次查询所涉及的数据量有关。一般而言,一个时间横跨 40 天,涉及到 6 个事件的漏斗分析,要比只横跨 7 天,涉及 1 个事件的事件分析要慢得多。
    • 机器的磁盘读性能越好,查询也会越快。在不考虑应用层 cache 的情况下,神策分析的每次查询都需要从磁盘中扫描数据,因此,磁盘的扫描性能会直接影响查询速度。
    • 机器的 CPU 性能越好,查询也会越快。一个完整的查询,在磁盘中读取数据以后,还需要完成一些聚合类型的计算,因此,CPU 性能越好,查询也会越快。
    • 集群版机器数量越多,查询也会越快。在其它硬件相同的情况下,机器数量增多,相当于直接提升了磁盘的读取以及 CPU 的计算性能,因此也会让查询更快。

    而如果需要提升神策分析的查询性能,可以从以下几种方案入手:

  • 使用抽样查询,减少单次查询扫描的数据量。可以通过抽样查询快速发现和验证一些问题,然后在需要的时候,再关闭抽样获取最准确的数据。
  • 提升机器性能。这个包括更换更好的磁盘,换更好的 CPU,以及在集群版中直接增加机器节点数量,对于查询性能,都会有立竿见影的效果。