Memcached调优

Jun 07, 2016 pm 04:31 PM
memcached Asal keseluruhan artikel Penalaan

文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》 项目中有一个对实时响应性比较高的服务,引入了Memcached以减少延迟和减少数据库压力。但是期间遇到了一些问题,这里记录一些调优细节。? 客户端选择 最开始我使用的是 Memcached Java Client,

文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》

Memcached调优项目中有一个对实时响应性比较高的服务,引入了Memcached以减少延迟和减少数据库压力。但是期间遇到了一些问题,这里记录一些调优细节。?

客户端选择

  • 最开始我使用的是 Memcached Java Client,但是最后放弃了,放弃原因包括:
    • 有时会出现的“No Thread For Socket”异常,我记录在 这里;
    • 它不支持NOREPLY模式(在这种模式下,更新缓存的set操作可以不需要Memcached服务端响应,这使得set操作非常非常快)。
  • 现在我使用的是 XMemcached。

统计信息

可以通过nc命令向Memcached服务端发送消息来获取统计信息,例如:

echo "stats settings" | nc localhost 20200 | sort
Salin selepas log masuk

但是,我更需要客户端的统计信息,尤其是缓存命中率,set操作成功率等等。所以在客户端添加了一个简单的统计模块。每次处理用户请求的过程中,通常有两次向Cache服务端的提交get请求,很多情况下还有两次set请求,合计消耗17ms,在把set请求改成NOREPLY模式以后,这个数减少到10ms以内。因此,对于实时性要求比较高的情形,请打开这个模式,或者干脆使用异步的set。

服务端参数

  • 可以使用-U来使用UDP传输,但是收效不大。
  • -k参数可以阻止换页操作发生,在内存足够的情况下对提高性能有益。
  • -C参数可以禁用CAS。
  • -t指定使用的线程数,如果你是多CPU、多核CPU,可以把这个值配成和总CPU核数一致。
  • -f参数,增长因子,存储大对象把它配大一点可以提高效率,配小一点可以减少浪费。

客户端参数

  • 在使用Memcached Java Client的时候:
    • 由于它会使用direct memory,一定不能加上DisableExplicitGC这个参数,否则就等着OOM吧;
    • 配置大一些的heap size可以提高L1 cache的命中率;
    • 把alive check置为false。
  • 对于实时性和响应性要求比较高的项目,需要做GC调优,主要是GC时延,比如配置MaxGCPauseMillis参数到一个可以接受的值,但是不是越小越好,减低时延的同时会降低吞吐量。
  • 有同事提了个建议,在客户端存放一个cache key的集合,可以在去cache server查询之前,先在本地查看一下是否有缓存记录(比如用 Bloom filter来实现),如果有,再去cache server查询。这个集合可以和实际的cache key有出入,也许一个小时同步一次就可以。但是实际上实现起来比较困难,本身key set的总量非常大,而且Memcached最初提供获取key iterator的接口返回的是一个限定大小key set的iterator,缺乏实际意义(这个接口在后来Memcached的版本中已经被废弃)。至于stats方法,它会把所有cache对象dump出来,只能小规模调试的时候使用。
  • 关于Nagle算法:Nagle的好处是可以批量处理请求,提高TCP包有效部分的大小,从而提高网络利用率,但是如果对每个请求处理时延要求很高的话请关闭。
  • 一定要指定socket timeout或者get/set timeout。

最后,有人做了一个几个Memcached客户端的综合的性能试验: 链接。

文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》

分享到:

你可能也喜欢:

  • Memcached调优 Issue record: “No thread for socket” about Memcached
  • Memcached调优 设计缓存框架需要关注的要素
  • Memcached调优 Ehcache详细解读
  • Memcached调优 OSCache框架源码解析
  • Memcached调优 Javascript Memoizer

Memcached调优

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan php-fpm untuk penalaan berprestasi tinggi Cara menggunakan php-fpm untuk penalaan berprestasi tinggi Jul 08, 2023 am 11:30 AM

Cara menggunakan php-fpm untuk penalaan berprestasi tinggi PHP ialah bahasa skrip sebelah pelayan yang sangat popular yang digunakan secara meluas untuk membangunkan aplikasi web dan tapak web dinamik. Walau bagaimanapun, apabila trafik meningkat, prestasi aplikasi PHP anda mungkin terjejas. Untuk menyelesaikan masalah ini, kita boleh menggunakan php-fpm (FastCGIProcessManager) untuk penalaan berprestasi tinggi. Artikel ini akan memperkenalkan cara menggunakan php-fpm untuk meningkatkan prestasi aplikasi PHP dan menyediakan contoh kod. satu,

Bagaimanakah saya boleh membuat wang dengan menerbitkan artikel di Toutiao hari ini? Bagaimana untuk mendapatkan lebih banyak pendapatan dengan menerbitkan artikel di Toutiao hari ini! Bagaimanakah saya boleh membuat wang dengan menerbitkan artikel di Toutiao hari ini? Bagaimana untuk mendapatkan lebih banyak pendapatan dengan menerbitkan artikel di Toutiao hari ini! Mar 15, 2024 pm 04:13 PM

1. Bagaimanakah anda boleh membuat wang dengan menerbitkan artikel di Toutiao hari ini? Bagaimana untuk mendapatkan lebih banyak pendapatan dengan menerbitkan artikel di Toutiao hari ini! 1. Aktifkan hak dan kepentingan asas: Artikel asal boleh memperoleh keuntungan melalui pengiklanan dan video mestilah asli dalam mod skrin mendatar untuk memperoleh keuntungan. 2. Aktifkan hak 100 peminat: jika bilangan peminat mencecah 100 peminat ke atas, anda boleh mendapat keuntungan daripada tajuk mikro, ciptaan Soal Jawab asal dan Soal Jawab. 3. Menegaskan karya asli: Karya asal termasuk artikel, tajuk mikro, soalan, dsb., dan dikehendaki melebihi 300 patah perkataan. Sila ambil perhatian bahawa jika karya yang diciplak secara haram diterbitkan sebagai karya asli, mata kredit akan ditolak, malah sebarang keuntungan akan ditolak. 4. Ketegakan: Apabila menulis artikel dalam bidang profesional, anda tidak boleh menulis artikel merentas bidang sesuka hati Anda tidak akan mendapat cadangan yang sesuai, anda tidak akan dapat mencapai profesionalisme dan ketepatan kerja, dan sukar untuk menarik peminat. dan pembaca. 5. Aktiviti: aktiviti tinggi,

Bagaimana untuk mengoptimumkan penggunaan CPU aplikasi PHP menggunakan teknologi caching Memcached? Bagaimana untuk mengoptimumkan penggunaan CPU aplikasi PHP menggunakan teknologi caching Memcached? Jun 21, 2023 pm 05:07 PM

Dengan perkembangan Internet, aplikasi PHP telah menjadi lebih biasa dalam bidang aplikasi Internet. Walau bagaimanapun, capaian serentak yang tinggi oleh aplikasi PHP boleh menyebabkan penggunaan CPU yang tinggi pada pelayan, sekali gus menjejaskan prestasi aplikasi. Untuk mengoptimumkan prestasi aplikasi PHP, teknologi caching Memcached telah menjadi pilihan yang baik. Artikel ini akan memperkenalkan cara menggunakan teknologi caching Memcached untuk mengoptimumkan penggunaan CPU aplikasi PHP. Pengenalan kepada teknologi caching Memcached Memcached ialah a

Menginovasi cara untuk memperhalusi LLM: tafsiran komprehensif kuasa inovatif dan nilai aplikasi torchtune perpustakaan asli PyTorch Menginovasi cara untuk memperhalusi LLM: tafsiran komprehensif kuasa inovatif dan nilai aplikasi torchtune perpustakaan asli PyTorch Apr 26, 2024 am 09:20 AM

Dalam bidang kecerdasan buatan, model bahasa besar (LLM) semakin menjadi tempat hangat baharu dalam penyelidikan dan aplikasi. Walau bagaimanapun, cara untuk menala raksasa ini dengan cekap dan tepat sentiasa menjadi cabaran penting yang dihadapi oleh industri dan akademik. Baru-baru ini, blog rasmi PyTorch menerbitkan artikel tentang TorchTune, yang menarik perhatian meluas. Sebagai alat yang memfokuskan pada penalaan dan reka bentuk LLM, TorchTune sangat dipuji kerana sifat saintifik dan praktikalnya. Artikel ini akan memperkenalkan secara terperinci fungsi, ciri dan aplikasi TorchTune dalam penalaan LLM, dengan harapan dapat memberikan pembaca pemahaman yang komprehensif dan mendalam. 1. Latar belakang kelahiran dan kepentingan TorchTune, pembangunan teknologi pembelajaran mendalam dan model pembelajaran mendalam (LLM)

GPT-4 menggunakan model besar hibrid? Penyelidikan membuktikan bahawa penalaan arahan MoE+ sememangnya menjadikan model besar berprestasi lebih baik GPT-4 menggunakan model besar hibrid? Penyelidikan membuktikan bahawa penalaan arahan MoE+ sememangnya menjadikan model besar berprestasi lebih baik Jul 17, 2023 pm 04:57 PM

Sejak kemunculan GPT-4, orang ramai telah kagum dengan keupayaan kemunculannya yang hebat, termasuk keupayaan pemahaman bahasa yang sangat baik, keupayaan penjanaan, keupayaan penaakulan logik, dsb. Keupayaan ini menjadikan GPT-4 sebagai salah satu model yang paling canggih dalam bidang pembelajaran mesin. Walau bagaimanapun, OpenAI tidak mendedahkan sebarang butiran teknikal GPT-4 setakat ini. Bulan lalu, George Hotz menyebut GPT-4 dalam temu bual dengan podcast teknologi AI yang dipanggil LatentSpace, mengatakan bahawa GPT-4 sebenarnya adalah model hibrid. Secara khusus, George Hotez berkata bahawa GPT-4 menggunakan sistem bersepadu yang terdiri daripada 8 model pakar, setiap satunya mempunyai 220 bilion parameter (lebih sedikit daripada 175 bilion parameter GPT-3

Penjelasan terperinci tentang amalan penalaan untuk meningkatkan kelajuan akses tapak web bahasa Go Penjelasan terperinci tentang amalan penalaan untuk meningkatkan kelajuan akses tapak web bahasa Go Aug 26, 2023 pm 07:27 PM

Penjelasan terperinci tentang amalan penalaan untuk meningkatkan kelajuan akses laman web bahasa Go Abstrak: Dalam era Internet yang pesat membangun, kelajuan capaian laman web telah menjadi salah satu faktor penting untuk pengguna memilih tapak web. Artikel ini akan memperkenalkan secara terperinci cara menggunakan bahasa Go untuk mengoptimumkan kelajuan akses tapak web, termasuk pengalaman praktikal dalam mengoptimumkan permintaan rangkaian, menggunakan cache dan pemprosesan serentak. Artikel itu juga akan menyediakan contoh kod untuk membantu pembaca memahami dan menggunakan teknik pengoptimuman ini dengan lebih baik. 1. Optimumkan permintaan rangkaian Dalam pembangunan laman web, permintaan rangkaian adalah pautan yang tidak dapat dielakkan. Dan mengoptimumkan permintaan rangkaian boleh

ASUS Flying Fortress 7--Asal ASUS Flying Fortress 7--Asal Jul 14, 2023 pm 10:09 PM

Apabila bercakap tentang komputer riba permainan daripada ASUS, perkara pertama yang terlintas di fikiran ialah Republic of Gamers Tetapi sebagai tambahan kepada komputer riba permainan mewah di Republic of Gamers, ASUS juga mempunyai komputer riba permainan arus perdana dalam siri Flying Fortress lihat mereka bersama-sama. Bagaimana pula dengan ASUS Flying Fortress 7, yang paling popular di kalangan pemain. ASUS Flying Fortress 7 Komputer riba siri Flying Fortress ASUS diletakkan untuk bermain permainan berskala besar dengan mudah Mereka memfokuskan pada kekukuhan dan ketahanan. Konfigurasi asas Mula-mula, mari kita lihat beberapa konfigurasi teras Flying Fortress 7 ini. Daripada jadual konfigurasi, yang paling penting ialah AMD Ryzen73750H+NVIDIA GeForceGTX1660Ti

Cara melakukan penalaan sistem dan ujian prestasi sistem Linux Cara melakukan penalaan sistem dan ujian prestasi sistem Linux Nov 07, 2023 am 11:33 AM

Pengoptimuman prestasi sistem pengendalian adalah salah satu kunci untuk memastikan operasi sistem yang cekap. Dalam sistem Linux, kami boleh melakukan penalaan dan ujian prestasi melalui pelbagai kaedah untuk memastikan prestasi terbaik sistem. Artikel ini akan memperkenalkan cara melakukan penalaan sistem dan ujian prestasi sistem Linux, dan memberikan contoh kod khusus yang sepadan. 1. Penalaan Sistem Penalaan sistem adalah untuk mengoptimumkan prestasi sistem dengan melaraskan pelbagai parameter sistem. Berikut adalah beberapa kaedah penalaan sistem yang biasa: 1. Ubah suai parameter kernel Parameter kernel sistem Linux mengawal operasi sistem.

See all articles