Rumah pangkalan data tutorial mysql 关于Amoeba读取longblob字段的问题_MySQL

关于Amoeba读取longblob字段的问题_MySQL

Jun 01, 2016 pm 01:46 PM
lorong

bitsCN.com

最近有一个应用使用Amoeba从几个库中读取MySQL中含有longblob字段的表,老是报Session was killed。

经查是Amoeba中可读通道的缓存大小引起的。原来在com.meidusa.amoeba.net.io.PacketInputStream类中,有一个属性maxPacketSize,限制了可读通道的缓存大小,如果当前读取的记录的长度大于maxPacketSize,就会报错。所以我们必须把它调大点。

Java代码 
/** 最大容量 */ 
protected static final int MAX_BUFFER_CAPACITY = 1024 * 1024 * 2; 
private int maxPacketSize = MAX_BUFFER_CAPACITY; 
 
 
public int getMaxPacketSize() { 
    return maxPacketSize; 

 
public void setMaxPacketSize(int maxPacketSize) { 
    this.maxPacketSize = maxPacketSize; 

maxPacketSize默认是2MB,但是发现setMaxPacketSize方法没有在其它地方有调用,应该是不可配置的,因此我直接修改了MAX_BUFFER_CAPACITY,重新打包扔上去就没问题了。


另外,当maxPacketSize大小不足时,用SQLYog连代理时的时候,发现一个有趣的现象。假如我有一表,各字段长度如下:
field1 | field2
1M     | 3M

如果我先执行:SELECT field2 FROM tab
这时出错:Lost connection to MySQL server during query
再执行:SELECT field1 FROM tab
SQLYog就没有响应了,然后amoeba抛OOM异常,屡试不爽。查DUMP文件后,发现AuthingableConnectionManager 和 Log4j的DailyRollingFileAppender塞满了内存。

bitsCN.com
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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Apakah itu saluran chan dalam bahasa Go Apakah itu saluran chan dalam bahasa Go Jan 10, 2023 pm 06:55 PM

Dalam bahasa Go, saluran (chan) ialah paip komunikasi antara goroutine dan medium untuk goroutine berkomunikasi dengan goroutine lain. Saluran ialah teknologi yang membolehkan satu goroutine menghantar data ke goroutine lain secara lalai, saluran adalah dua arah, bermakna goroutine boleh menghantar atau menerima data melalui saluran yang sama.

saluran fungsi golang diluluskan sebagai parameter saluran fungsi golang diluluskan sebagai parameter Apr 22, 2024 pm 06:36 PM

Dalam Go, kita boleh berkongsi dan menghantar data antara fungsi dengan mudah dengan menghantar saluran fungsi sebagai argumen fungsi menggunakan kata kunci chan. Langkah-langkah khusus adalah seperti berikut: Cipta saluran untuk menghantar jenis data tertentu. Lulus saluran sebagai parameter dalam fungsi menggunakan kata kunci chan dan nama saluran. Gunakan saluran sehala

Pengoptimuman prestasi fungsi Go: petua tentang menggunakan paip dan saluran Pengoptimuman prestasi fungsi Go: petua tentang menggunakan paip dan saluran May 03, 2024 am 09:33 AM

Paip dan saluran ialah alat penting untuk mencapai keselarian dan keselarasan dalam Go. Mereka boleh mengoptimumkan prestasi fungsi Go dengan cara berikut: Saluran Paip: melaksanakan I/O selari dan meningkatkan daya pemprosesan. Saluran: Saluran paip buffer yang mengurus pelaksanaan serentak tugasan intensif pengiraan. Penerimaan terpilih: Terima data daripada berbilang saluran untuk meningkatkan kecekapan.

Jenis dan peraturan saluran dalam pengaturcaraan serentak fungsi Golang Jenis dan peraturan saluran dalam pengaturcaraan serentak fungsi Golang Apr 18, 2024 am 08:57 AM

Saluran ialah mekanisme komunikasi dalam bahasa Go untuk memindahkan data dengan selamat antara fungsi serentak. Saluran ini menyediakan perlindungan perlumbaan data untuk mengelakkan akses terus kepada memori yang dikongsi. Jenis saluran termasuk saluran tidak buffer (chanT) dan saluran buffered (chanT, int). Peraturan termasuk menghantar nilai (

Laksanakan Select Channels Go peningkatan kecekapan pengaturcaraan serentak melalui golang Laksanakan Select Channels Go peningkatan kecekapan pengaturcaraan serentak melalui golang Sep 27, 2023 pm 02:58 PM

Melaksanakan SelectChannelsGo peningkatan kecekapan pengaturcaraan serentak melalui Golang Pengenalan: Dalam bidang pembangunan perisian hari ini, pengaturcaraan serentak yang cekap adalah penting. Pengaturcaraan serentak boleh memanfaatkan sepenuhnya keupayaan berbilang teras pemproses moden dan meningkatkan kecekapan dan prestasi pelaksanaan program. Golang ialah bahasa pengaturcaraan yang direka dengan mengambil kira konkurensi Melalui mekanisme goroutin dan saluran terbina dalam, pengaturcaraan serentak yang cekap boleh dicapai dengan mudah. Artikel ini akan menggunakan Golang untuk

Cara menutup saluran di golang Cara menutup saluran di golang Jan 11, 2023 am 11:12 AM

Dalam golang, anda boleh menggunakan fungsi close() untuk menutup saluran, sintaksnya ialah "close(msg_chan)". Saluran (chan) ialah sumber sistem, jadi apabila anda tidak perlu menggunakan chan, anda perlu menggunakan fungsi terbina dalam dekat untuk menutup paip secara manual. Nota: Jika anda menghantar data ke paip tertutup, program akan panik.

Hubungan antara kawalan konkurensi fungsi golang dan saluran Hubungan antara kawalan konkurensi fungsi golang dan saluran Apr 25, 2024 am 08:39 AM

Dalam bahasa Go: Kawalan serentak fungsi membenarkan penciptaan fungsi yang dilaksanakan serentak menggunakan kata kunci go atau goroutine. Saluran ialah baris gilir penimbal yang digunakan untuk menghantar nilai antara fungsi serentak, menyediakan penyegerakan dan komunikasi. boleh digunakan

Bagaimanakah saluran dalam fungsi golang dilaksanakan? Bagaimanakah saluran dalam fungsi golang dilaksanakan? Jun 03, 2024 am 10:45 AM

Dalam bahasa Go, struktur dalaman saluran termasuk jenis elemen, penunjuk penimbal, kunci mutex, hantar dan terima baris gilir. Mekanisme penghantaran dan penerimaan melibatkan bangun goroutine untuk menghantar atau menerima data. Saluran dibahagikan kepada buffer dan unbuffered. Saluran buffer membolehkan goroutine menghantar data tanpa penerima, manakala saluran tidak buffer memerlukan penerima sebelum menghantar.

See all articles