Bert语义在360搜索中的探索实践-工程优化

2021-03-02
阅读 3 分钟
3.5k
Bert模型网络结构较深,参数量庞大,将Bert模型部署成在线服务在实时性和吞吐上面临巨大挑战。本文主要介绍360搜索将Bert模型部署成在线服务的过程中碰到的一些困难以及做的工程方面的优化。

pika集群水平扩展——让性能容量不再受限

2020-12-01
阅读 3 分钟
6.4k
Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大部分接口(兼容详情),解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈。用户可以不修改任何代码从redis迁移到pika服务。具有良好的兼容性和稳定性,被360公司内部使用超过3000实例,github社区超过3.8K star。由于单机pika容...

360互联网技术训练营第18期——AIOps落地实践探索

2019-09-05
阅读 1 分钟
2k
随着运维工作从规模和复杂度多方面的爆炸式增长,传统的运维手段已经无法满足如今业务系统运维管理的需求。AI 技术日趋成熟,智能运维(AIOps)应运而生,给运维行业带来了很多的变革和机会,并逐渐成为一种新的发展趋势。

360移动端性能监控实践QDAS-APM(iOS篇)

2019-07-02
阅读 6 分钟
8.8k
360是一家注重用户体验的公司,公司的口号是用户至上。在这么一个注重用户体验的氛围里,app的性能问题无疑是被重点关注的,同样也是造成用户流失的罪魁祸首之一。性能问题主要包含:崩溃、网络请求错误或者超时、UI响应速度慢、主线程卡顿、CPU和内存使用高、耗电量大等等。大多问题的原因在于开发者错误地使用了线程、...

基于inotify实现配置文件热更新

2019-06-21
阅读 6 分钟
5.2k
在上一篇文章《Go配置文件热加载 - 发送系统信号》中给大家介绍了在Go语言中 利用发送系统信号更新配置文件 其核心思想就是:新起一个协程,监听linux 的用户自定义信号 USR1 , 当收到该信号类型时,主动更新当前配置文件。

360自研分布式海量小文件存储系统的设计与实现

2019-06-11
阅读 4 分钟
7.3k
近年来,公司业务发展迅猛,为数众多的业务场景产生了大量的图片,文档,音频,视频等非结构化数据,尤其是随着移动互联网、AI、IoT技术的成熟和应用市场的全面爆发,大量智能硬件设备将会生成更大规模的非结构化多媒体数据。如此大量的小文件如何存储,问题应运而生。传统存储厂商出售的存储服务价格昂贵,公有云厂商对...

SG :一个简单的PHP语法糖扩展

2019-06-10
阅读 6 分钟
10.4k
奇技指南语法糖往往给程序员提供了更实用的编码方式,可以使代码更简洁流畅,语义更自然。本文介绍笔者自己写的PHP语法糖扩展,扩展了一种全新的PHP超全局变量获取方式。本文作者范家鹏,360技术委员会--WEB服务端分TC委员。

Go配置文件热加载 - 发送系统信号

2019-06-10
阅读 5 分钟
12.3k
在日常项目的开发中,我们经常会使用配置文件来保存项目的基本元数据,配置文件的类型有很多,如:JSON、xml、yaml、甚至可能是个纯文本格式的文件。不管是什么类型的配置数据,在某些场景下,我们可会有热更新当前配置文件内容的需求,比如:使用Go运行的一个常驻进程,运行了一个 Web Server 服务进程。

Louvain 算法原理及设计实现

2019-05-31
阅读 3 分钟
8.9k
奇技指南 在海量的信息流中,通过精准的算法给用户推荐其感兴趣的内容,已经成为了一个产品吸引用户,获取收益的极其重要的方式。本篇为算法系列文章,将为大家分享360的算法团队在实践中积累的算法知识及经验,欢迎大家交流分享~

分布式时序数据库QTSDB的设计与实现

2019-05-31
阅读 6 分钟
4.8k
奇技指南现有的开源时序数据库influxdb只支持单机运行,在面临大量数据写入时,会出现查询慢,机器负载高,单机容量的限制。 为了解决这一问题,360基础架构团队在单机influxdb的基础上,开发了集群版——QTSDB

浅谈Cgroups

2019-05-24
阅读 7 分钟
2.9k
奇技指南在开发一款软件时,为了延长软件的生命周期,需要一款配套软件来对发布的软件进行监控。随着容器技术的成熟,系统的定制和软件的打包变得越来越容易,同时,对容器进行监控成为了容器使用者所必备的技能。下来,作者将带领大家认识一下容器的资源管理工具Cgroups。