使用AWS服务时注意时区的问题

最近来到了新的公司,搞起了AWS,会陆续记录一些AWS的东西。今天要讲的就是时区问题,说起来挺简单的,没有服务器跨国的估计注意的人没几个。

我们的EMR机器在US,而实际应用的服务器在CH,同事针对log进行的parser的时候发现实际用户的时间跟我们机器的时间总是有差异,而且排除客户端网络问题差异还挺大。

刚开始没注意,就以为是网络问题,我后来看了看还是。

以下是查找思路:

--服务器时间 大部分为04-26
select collector_tstamp :: date,count(*) from dev.events
group by collector_tstamp :: date order by count(*) desc;
2015-04-26	1012769
2015-04-27	16932

—设备时间 大部分为04-26
select dvce_tstamp :: date,count(*) from dev.events
group by dvce_tstamp :: date order by count(*) desc;
2015-04-26	938746
2015-04-25	90488
2015-04-27	174
....(小于100)

从两点上看会误以为没什么问题。

下面来看diff的数据:

select datediff(m,collector_tstamp,dvce_tstamp) as minute,count(*) from dev.events
group by datediff(m,collector_tstamp,dvce_tstamp) order by count(*) desc;
Minutes cnt
-480	949916
-479	24772
-481	17785
-478	8325
-477	4397
-476	3000
-482	2852
-475	2492
-474	2219
-473	1628
-470	1384
-469	1103

确认后日志轮转没问题后,检查了EMR程序,发现在调用python的time库时进行localtime的转化

EMR python script:

row['dvce_tstamp'] = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(row['dvce_tstamp'])/1000))

所以问题就发现了。

RootCause: 本地代码上传AWS做时间处理需要进行timezone的指定

不指定的时候测试结果:

本地机器:

>>> print time.localtime(1430378360)

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=30, tm_hour=15, tm_min=19, tm_sec=20, tm_wday=3, tm_yday=120, tm_isdst=0)

EMR机器:

>>> print time.localtime(1430378360)

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=30, tm_hour=7, tm_min=19, tm_sec=20, tm_wday=3, tm_yday=120, tm_isdst=0)

--

时间: 2024-10-07 02:38:20

使用AWS服务时注意时区的问题的相关文章

(转) 发布或重启线上服务时抖动问题解决方案

转自 http://www.cnblogs.com/LBSer/p/3703967.html 相关: load.jstack.Java编译.Java运行模式 一.问题描述       在发布或重启某线上某服务时(jetty8作为服务器),常常发现有些机器的load会飙到非常高(高达70),并持续较长一段时间(5分钟)后回落(图1),与此同时响应时间曲线(图2)也与load曲线一致.注:load飙高的初始时刻是应用服务端口打开,流量打入时(Load指的是运行队列(run-queue)的长度:L=等

解决android调用IIS Express中的WCF服务时,出现错误400问题

IIS Express仅支持localhost主机名地址访问. 找到IIS Express Config文件下的 applicationhost.confi   修改配置 再来调试android应用,发下已经成功调用 解决android调用IIS Express中的WCF服务时,出现错误400问题,布布扣,bubuko.com

发布或重启线上服务时抖动问题解决方案

发布或重启线上服务时抖动问题解决方案 一.问题描述       在发布或重启某线上某服务时(jetty8作为服务器),常常发现有些机器的load会飙到非常高(高达70),并持续较长一段时间(5分钟)后回落(图1),与此同时响应时间曲线(图2)也与load曲线一致.注:load飙高的初始时刻是应用服务端口打开,流量打入时(load具体指什么可参考http://www.cnblogs.com/amsun/p/3155246.html). 图1 发布时候load飙高 图2 发布时候响应时间飙高 二.问

启动ssh服务时,提示Could not load host key: /etc/ssh/ssh_host_rsa_key

在启用 ssh 服务时,有时会看到如下提示: [email protected]:~# /etc/init.d/ssh start* Starting OpenBSD Secure Shell server sshd                                   Could not load host key: /etc/ssh/ssh_host_rsa_keyCould not load host key: /etc/ssh/ssh_host_dsa_key 有两个提示

实现在GET请求下调用WCF服务时传递对象(复合类型)参数

WCF实现RESETFUL架构很容易,说白了,就是使WCF能够响应HTTP请求并返回所需的资源,如果有人不知道如何实现WCF支持HTTP请求的,可参见我之前的文章<实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法>.<实现jquery.ajax及原生的XMLHttpRequest跨域调用WCF服务的方法>,在此就不作重述. 实现WCF支持HTTP请求调用容易,但要实现类似MVC的ACTION及WEB API那样的灵活,那就得花费点功夫,为什么这样说

编写WCF服务时右击配置文件无“Edit WCF Configuration”(编辑 WCF 配置)远程的解决办法

原文:编写WCF服务时右击配置文件无“Edit WCF Configuration”远程的解决办法 今天在看<WCF揭秘>书中看到作者提出可以在一个WCF Host应用程序的App.Config文件上右击, 通过弹出的" Edit WCF Configuration”(编辑WCF配置)选项来利用GUI界面编辑WCF的配置信息. 但是我在尝试的时候并没有找到这个右键菜单,开始还以为作者弄错了,但又尝试了一会后便发现了窍门. 右键App.Config文件默认是没有" Edit

amazon aws 服务实验平台

听说云计算很火,大家都在玩.如果你了解了amazon aws,是不是想亲自动手?那么你需要一个实验平台,来了解亚马逊云服务的使用.(没了解看这里 click) 什么?还有没有AWS账号?什么?还没有信用卡?什么?不知道哪里有详细的学习文档? 假如你申请了一个亚马逊云服务帐号,并且用自己的账户,但是你担心不当的操作,会导致服务扣费. 统统忘掉这些吧.AWS祭出了神器:https://run.qwiklabs.com. 通过网站https://run.qwiklabs.com,你可以进行亚马逊云服务

绑定服务时什么时候调用onRebind

Serivce中onRebind被调用的时机很特别,想知道什么时候onRebind被调用,可以接下面的次序来学习,最后自然就明白了! 1. 首先要知道,同一个服务既可能被启动也可以被绑定; 2. Service中onRebind方法被调用,只要符合两个必要条件就行 (1)服务中onUnBind方法返回值为true (2)服务对象被解绑后没有被销毁,之后再次被绑定 .下面举例说明: 例1:同一个Activity对象 先自启动服务(onCreate, onStartCommand):再绑定服务(on

全网最详细的启动Kafka服务时出现kafka.common.InconsistentBrokerIdException: Configured brokerId 3 doesn&#39;t match stored brokerId 1 in meta.properties错误的解决办法(图文详解)

不多说,直接上干货! 问题详情 执行bin/kafka-server-start.sh config/server.properties 时, [[email protected] kafka_2.11-0.9.0.0]$ bin/kafka-server-start.sh config/server.properties [2018-06-17 16:05:38,983] INFO KafkaConfig values: request.timeout.ms = 30000 log.roll.