Python中如何计算100万用户的每小时峰值活动用户数

100 万用户,那么怎么计算出他的每小时峰值活动用户数?

解决方案:采用 80 • 20 原则计算得到每小时峰值活动用户数 6.667 万 /小时;那么每秒中的同一功能点点击并发数应该是 18.5。

6.667 万这个数字是怎么计算出来的???


Python中如何计算100万用户的每小时峰值活动用户数
3 回复

要计算每小时峰值活动用户数,你得先有用户活动的时间戳数据。假设你有个user_activity表,里面有user_idtimestamp字段,下面这个SQL查询就能搞定:

SELECT 
    DATE_TRUNC('hour', timestamp) AS hour,
    COUNT(DISTINCT user_id) AS active_users
FROM user_activity
GROUP BY hour
ORDER BY active_users DESC
LIMIT 1;

用Python处理的话,如果数据已经在pandas DataFrame里,可以这样:

import pandas as pd

# 假设df是包含timestamp和user_id的DataFrame
df['hour'] = df['timestamp'].dt.floor('H')
hourly_activity = df.groupby('hour')['user_id'].nunique()
peak_hour = hourly_activity.idxmax()
peak_users = hourly_activity.max()

print(f"峰值时段: {peak_hour}, 活跃用户数: {peak_users}")

如果数据量很大,可以用Dask或者PySpark进行分布式计算。基本思路就是按小时分组,去重统计用户数,然后找最大值。

核心就是按时间窗口分组统计去重用户数。


16.667 吧?

百分之八十的业务在百分之二十的时间内完成 80/4.8

回到顶部