hazelcast'in Hazelcast Jet isminde bir servisi var belki ise yarayabilir https://hazelcast.com/products/stream-processing/ ya da influxdata ya bakacagim. Benim olay biraz time series'e giriyor. Cünkü zaman bazli veriler aliyorum Baska servisler de var ama bir cogu cloude bazli calisiyor . Ama ben sistemi kendi VPS'ime kurmayi planliyorum ve direk localde calissin. Biraz arastirma yaptim, kullandigim VPS firmasinin da azure gibi bir local network yaratma imkani var. Yani benim atiyorum 3 tane VPSim olsun, birinde redis server kurulu olsun, diger 2 makineyle, redis server'a local ag üzerinden ulasabiliyorum . Suan icin tek sorunum, datayi düzgünce kaydedip paralel ya da paralele yakin sekilde datayi okumak. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Unhandled exception. Unhandled exception. StackExchange. Redis. RedisTimeoutException: The timeout was reached before the message could be written to the output buffer, and it was not sent, command=SET, timeout: 5000, inst: 0, qu: 163, qs: 0, aw: False, bw: CheckingForTimeout, last-in: 0, cur-in: 0, sync-ops: 0, async-ops: 164, serverEndpoint: 127.0.0.1:6379, conn-sec: n/a, mc: 1/1/0, mgr: 10 of 10 available, clientName: WIN-N3L34NRTGMU(SE. Redis-v2.6.90.64945), IOCP: (Busy=0, Free=1000, Min=2, Max=1000), WORKER: (Busy=1, Free=32766, Min=2, Max=32767), POOL: (Threads=9, QueuedItems=0, CompletedItems=560), v: 2.6.90.64945 at MyProject. Redis. RedisConnector. WriteValue(String key, String value, Int32 dbNo) in...\MyProject\MyProject. Redis\RedisConnector. cs:line 42 at MyProject. Business. Core. CoreFunctions.<>c DisplayClass10_0.<<_abc_OnSocketValueReceived>b 0>d. MoveNext in...\MyProject\MyProject. Business\Core\CoreFunctions. cs:line 77 End of stack trace from previous location at System. Threading. Tasks. Task.<>c. b 128_1 at System. Threading. ThreadPoolWorkQueue. Dispatch at System. Threading. PortableThreadPool. WorkerThread. WorkerThreadStart at System. Threading. Thread. StartCallback Suan uygulama daha hizli calisiyor ama redis uygulamanin hizina yetisemiyor gibi :) Kendi bilgisayarimda 16 core var ve burda hic hata vermeden calisiyor. Ancak server'a attigimda bir kac saniye sonra redise yazamiyor. Serverdaki makinede 2 core var. Ilk mesajda yazdigim WriteValue metodunu core sinifinda await ile cagirdim olmadi, simdi bir threadpool ile denedim yine olmadi. Event asiri fazla tetikleniyor. Atiyorum her 1 ms'de belki 50 istek gidiyor... redis bunlari isleyemiyor. Henüz alternatiflerine bakmadim, redisle czebilirsem süper olacak. Lock koyarsam muhtemelen sikinti cikarmayacaktir ancak, benim isime gelmez, cünkü ben hic bir veriyi kacirmadan anlik yazmak ve sürekli okumak istiyorum. Fikirlerinizi bekliyorum. @sandman senden ayarlari hala alamadik :)) unbalanced tarafından 05/Şub/23 03:56 tarihinde düzenlenmiştir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Peki benim bunu 'Reis Alternatifleri' diye okumama ne demeli 😅 Kafayı çok takmış olabilirsin :)) Maalesef bulduğum yol da işe yaramadı, bir kaç şekilde denedim olmadı. Memcached deneyeyim dedim o da patladı maalesef. Pc başına geçince ekran grüntüsünü atarım. Yanlış grmediysem bir kayıdı 0.220 ms de okuyor ya da yazıyor. Memcached de pool full gibi bir hata verdi. Aslında doğru dürüst konfigürasyon ile çzülür gibi duruyor. Diğer alternatife de bakacağım hazelcast O da olmazsa uygulamayı sub-pub a çevirip subscribe olanlara veri gnderecek. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Sabah sakin kafayla uzun uzun yazarım, mevcut sorununu redis ayarlarıyla düzeltebilirsin cache servisi secerken bir kaç kriter var active/active node lazım mı, bilgileri belli bir düzen ile tutacak mısın, hangi dil ve platformu kullanacaksın gibi. redis'e en iyi alternatif şu anda hazelcast, küçük bir iş yapmıyorsan memcache'e girme. Mühendis kahveyi projeye dnüştüren bir insan evladıdır.

Ehcache i alternatif olarak dusunebilirsin hocam. Kullanimi kolay ve anlaşılır abi jvm tabanlı olunca birde jvm heap sik sok işleri başına dert açabiliyor :/ herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

https://raw.githubusercontent.com/redis/redis/7.0/redis. conf SNAPSHOTTING başlığında ilgili ayar var hocam. İstemezsen diske yazmaz cok sagol hocam kullandigim kütüphanede snapshot ile ilgili bir ayar bulamadim, direk server'da su kodu cagirdim redis-server --save "" --appendonly no suan icin sorun czüldü gibi duruyor. Insallah sikintisiz devam eder bakalim. Ben bu redise aslinda daha cok yüklenmeyi düsünüyordum yani 10 tane bu sekilde kaynak baglamayi düsünüyordum ama 1 tanesi bile zor kaldiriyorsa isimiz var demek :) Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Hocam hetzner üzerinde çok kolay sunucular arası sanal ağ kurabilirsin. Bu arada couchbase nosql çzümüne bakmanı neririm. Community versiyonu var ama production ortamında değilseniz enterprise da ücretsiz. Key value servisi işine yarayabilir. N1ql veri sorgulama dili neredeyse SQL ile aynı. hetzner'i biliyorum hocam, ben suanlik memnunum kullandigim firmadan, yaklasik 2 kat da fiyat farki var. Bir iki makine olsa sorun olmaz ama biz baya bir makine almayi planliyoruz yle olunca maliyetin de düsük olmasi lazim. couchbase'i biliyorum hocam, bize standart bir db gerekmiyor. Aslinda bu redis'i de yanlis kullaniyorum, tam arastirip grenemedim ama redis'i memory db olarak kullanmam gerek bir db yerine. Cünkü program 7-24 aktif calisacak ve db'ye kaydetmesinin bir anlami yok, cünkü veriler sürekli güncelleniyor ve eski veriye ihtiyacim yok. N1ql'i biliyorum daha nce bir kac proje yaptim ama sql ile de isim yok , basit okuma yazma islemi yapmam lazim. Ben redis'i memory'e yazma olayina bakayim en iyisi. Bu czüm olabilir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

https://raw.githubusercontent.com/redis/redis/7.0/redis. conf SNAPSHOTTING başlığında ilgili ayar var hocam. İstemezsen diske yazmaz Hannibal_King tarafından 05/Şub/23 20:51 tarihinde düzenlenmiştir

cevaplar icin tesekkürler ancak yazma firsatim oldu. Bir kac düzenleme yaptim redis'te suana kadar henüz hata olusmadi. var multiplexer = ConnectionMultiplexer. Connect(new ConfigurationOptions { AbortOnConnectFail = false, ConnectRetry = 5, DefaultDatabase = 0, EndPoints = { } }); su sekilde bir option ekledim, abortonconnectfail propertysi, timeout durumunda exception firlatmayacak ve tekrar baglanma olayini 5 kere deneyecek. Bir de yazma degil de okumada sikinti oluyor. Yazma alaninda redis %0-0.5 islemci kullanirken, isin icine okuma girince %18-25 civarinda oluyor. Zaten bizdeki sikinti da okumadan kaynakli. Hesaplama ve redisten okuma kisminin cagrilmasini biraz daha iyilestirdim. Planim su aslinda yazdigimiz socket app'i baska bir servera tasimak ve oradaki redis'i disari acip cesitli clientlardan o redis'e erisimini saglamak. Performans acisindan nasil davranis sergiler bilmiyorum ancak olmadi aklimdaki diger düsünce de bir eventbus mimarisi kullanmak geliyor. redis'e alternatif olarak direk memcache'i aradim zaten, hatirladigim kadariyla bir projede kullanmistim eskiden. Ama Ehcache ya da hazelcast ilk kez duydum, onlari arastirayim. Sistemi biraz daha büyüttügümüzde toplamda atiyorum en fazla 3000 kayit olur. Burada sorun yeni kayit olusturmadan ziyade, update ve read islemleri. Grünen o ki, redis'te update iyi calisiyor ama read'de sikinti olabiliyor. Suana kadar bir sikinti olmadi, belki @sandman dedigin gibi ayarlarla ilgili bir sikinti var. Yazini bekliyorum. Birden fazla node olayini cok ileriki asamalarda düsünebilirim yani cok fazla client olursa o zaman mantikli olur. Kücükten basliyorum bakalim su link surda kalsin da multiple node'larda bakarim :) https://stackoverflow.com/a/44499302/1022138 unbalanced tarafından 31/Oca/23 00:29 tarihinde düzenlenmiştir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Selamlar 300 kaydi isleyen bir uygulama ve ayni serverda olan ve bu kayitlarin hepsini anlik okuyan baska bir uygulama var. Daha dogrusu suan gelistiriyoruz. Yani bir cache mekanizmasi Uygulamayi server'da test ederken, console'da kapandigini farkettim. event viewer'dan bakinca syle bir hata grdüm Application: MyAssembly. Console. exe CoreCLR Version: 6.0.1322.58009. NET Version: 6.0.13 Description: The process was terminated due to an unhandled exception. Exception Info: StackExchange. Redis. RedisTimeoutException: Timeout awaiting response (outbound=3KiB, inbound=0KiB, 5891ms elapsed, timeout is 5000ms), command=GET, next: GET ONEETH, inst: 0, qu: 0, qs: 322, aw: False, bw: SpinningDown, rs: ReadAsync, ws: Idle, in: 0, in-pipe: 0, out-pipe: 0, last-in: 21, cur-in: 0, sync-ops: 0, async-ops: 15213131, serverEndpoint: 127.0.0.1:6379, conn-sec: 589.14, mc: 1/1/0, mgr: 10 of 10 available, clientName: WIN-N3L34NRTGMU(SE. Redis-v2.6.90.64945), IOCP: (Busy=0, Free=1000, Min=2, Max=1000), WORKER: (Busy=2, Free=32765, Min=2, Max=32767) , POOL:Threads=5, QueuedItems=122, CompletedItems=24506132), v: 2.6.90.64945 Arkadas arastirirken syle bir sey bulmus: Hata mesajınıza baktığımda, gzüme çarpan iki şey var: Hatanın in: Hatanın 65536 kısmı, sunucu tarafından gnderilen ve yerel soketinizin arabelleğinde duran ve uygulamanızın bu verileri okumasını bekleyen çok sayıda veriniz olduğu anlamına gelir. Bu genellikle uygulamanızda bir performans sorunu olduğunu gsterir: rneğin yüksek / ani CPU patlamaları veya bellek sayfalamasına neden olan bellek baskısı. WORKER: (Busy=3, Free=679, Min=1, Max=682) kısmı Threadpool ayarlarınızın ayarlanması gerektiğini gsterir. "Meşgul" değeri "Min" değerinden büyük olduğunda, yanıtları işlerken gecikmeler yaşayacaksınız çünkü threadpool meşgul olduğunda ne kadar hızlı yeni iş parçacığı oluşturacağını kısıtlar. Redis ile fazla calismadim belki cesitli ayarlarini yapmak lazim. Ama bizim islemlerimizde sikinti cikarmadan memory tabanli bir sey gerekiyor. Verileri memory bellegine bir kere ekledikten sonra artik tüm degerleri güncelliyor. Yani initial durum haric herhangi bir ekleme yok, sadece güncelleme var ve bu degerleri 210-250 ms'de bir tek tek okuyor Toparlarsam; redis alternatifi memory kayit icin iki uygulamanin da ayni anda kullanabilecegi bir sistem ariyorum. SignalR gibi bir sey kullanip data tasiya bilirim ama 1 milisaniyenin bile nemi oldugundan mümkün mertebe en light way sekilde yapmayi amacliyorum. Kodlar da syle pek bir seyi yok zaten. Bir rnekte Lazy kullanmislar ve lock kullanmislar ama bilemedim var multiplexer = ConnectionMultiplexer. Connect("127.0.0.1:6379"); services. AddSingleton<IConnectionMultiplexer> ; services. AddSingleton<IRedisConnector, RedisConnector> ; public class RedisConnector : IRedisConnector { IDatabase _db; public RedisConnector public async Task<string> ReadValue public async Task WriteValue } Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Reis benim sunucuda da sürekli kapanıyor. Cevapları bende merak ediyorum. Socket.io ile dağıtık redis kullanıyorum bende. Sessionlar rediste tutuluyor. Her gün olmasa da arada bir bir anda tüm session düşüyor loglara bakıyorum redis uçmuş. Ram mi şişiyor dedim kendi kendime bir ara rami 128 den 256 çıkardık problem hala devam etti. Bu iş transaction sayısı artınca oldu yanlız. Az session varken bir problem olmuyordu. Her kod get or add ile dolu :D Bu arada okuma işleminde çok kaynak tüketiyor olması şaşırttı beni. Belki data büyüktür ama bende hiç byle sorun olmadı. Redis de ortalama 1 GB lık veri var read kısmı çatır çatır çalışıyor. Sunucu da yle aman aman sunucular değil. Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu nünden daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? yle ise, sakın yetime kahretme ! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!

esinti bunu yazdı Hocam hetzner üzerinde çok kolay sunucular arası sanal ağ kurabilirsin. Bu arada couchbase nosql çzümüne bakmanı neririm. Community versiyonu var ama production ortamında değilseniz enterprise da ücretsiz. Key value servisi işine yarayabilir. N1ql veri sorgulama dili neredeyse SQL ile aynı. hetzner'i biliyorum hocam, ben suanlik memnunum kullandigim firmadan, yaklasik 2 kat da fiyat farki var. Bir iki makine olsa sorun olmaz ama biz baya bir makine almayi planliyoruz yle olunca maliyetin de düsük olmasi lazim. couchbase'i biliyorum hocam, bize standart bir db gerekmiyor. Aslinda bu redis'i de yanlis kullaniyorum, tam arastirip grenemedim ama redis'i memory db olarak kullanmam gerek bir db yerine. Cünkü program 7-24 aktif calisacak ve db'ye kaydetmesinin bir anlami yok, cünkü veriler sürekli güncelleniyor ve eski veriye ihtiyacim yok. N1ql'i biliyorum daha nce bir kac proje yaptim ama sql ile de isim yok , basit okuma yazma islemi yapmam lazim. Ben redis'i memory'e yazma olayina bakayim en iyisi. Bu czüm olabilir Benim bildiğim de byle oluyor hacı. Çok kullanılmayan dataları normal db ne kaydedebilirsin ama sürekli aktif olanlar için redisin memoryden kullanmak gerekiyor diye biliyorum. Bizim projede byle kullanılıyordu.

memcache, hazelcast birde redis'den ayrılan ekibin 2020 yılında redis yapsak nasıl yapardık kafasıyla yaptıkları bir şey vardı adını hatırlayamadım. bunlara bakabilirsin. ama tam olarak neden redis'i değiştirmeyi istediğini anlayamadım. docker'a koysan unuturusun redisi, azıcık confige kafa yoracan senin durumuna gre :) herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

windows değilde linux makinaya kurup test etsene bi abi server var ancak henüz linux kurmadim, prod.'u linux + docker ile yapmayi planliyorum. Son düzenlemelerden sonra suana kadar hala problem cikarmadi. Demek ki bir degistirdigim ayarla ilgiliydi sorun. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Peki benim bunu 'Reis Alternatifleri' diye okumama ne demeli 😅 A. A.

unbalanced bunu yazdı esinti bunu yazdı Hocam hetzner üzerinde çok kolay sunucular arası sanal ağ kurabilirsin. Bu arada couchbase nosql çzümüne bakmanı neririm. Community versiyonu var ama production ortamında değilseniz enterprise da ücretsiz. Key value servisi işine yarayabilir. N1ql veri sorgulama dili neredeyse SQL ile aynı. hetzner'i biliyorum hocam, ben suanlik memnunum kullandigim firmadan, yaklasik 2 kat da fiyat farki var. Bir iki makine olsa sorun olmaz ama biz baya bir makine almayi planliyoruz yle olunca maliyetin de düsük olmasi lazim. couchbase'i biliyorum hocam, bize standart bir db gerekmiyor. Aslinda bu redis'i de yanlis kullaniyorum, tam arastirip grenemedim ama redis'i memory db olarak kullanmam gerek bir db yerine. Cünkü program 7-24 aktif calisacak ve db'ye kaydetmesinin bir anlami yok, cünkü veriler sürekli güncelleniyor ve eski veriye ihtiyacim yok. N1ql'i biliyorum daha nce bir kac proje yaptim ama sql ile de isim yok , basit okuma yazma islemi yapmam lazim. Ben redis'i memory'e yazma olayina bakayim en iyisi. Bu czüm olabilir Benim bildiğim de byle oluyor hacı. Çok kullanılmayan dataları normal db ne kaydedebilirsin ama sürekli aktif olanlar için redisin memoryden kullanmak gerekiyor diye biliyorum. Bizim projede byle kullanılıyordu. rneklere baktim hocam benim yaptigim gibi yapilmis hepsi. Memory'den kullan gibi bir secenek yok ya da ben gremedim. Memory'den calissa da db'ye kaydediyor. Nasil anliyorsun diyorsan, redis-cli' den get MY_KEY ile degerleri grebiliyorum uygulama calismadigi halde. Tabi restart yapip denemedim ama muhtemelen local bir yere yaziyor. restart atip bakayim en iyisi veriler duracak mi Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Reis benim sunucuda da sürekli kapanıyor. Cevapları bende merak ediyorum. Socket.io ile dağıtık redis kullanıyorum bende. Sessionlar rediste tutuluyor. Her gün olmasa da arada bir bir anda tüm session düşüyor loglara bakıyorum redis uçmuş. Ram mi şişiyor dedim kendi kendime bir ara rami 128 den 256 çıkardık problem hala devam etti. Bu iş transaction sayısı artınca oldu yanlız. Az session varken bir problem olmuyordu. Her kod get or add ile dolu :D Bu arada okuma işleminde çok kaynak tüketiyor olması şaşırttı beni. Belki data büyüktür ama bende hiç byle sorun olmadı. Redis de ortalama 1 GB lık veri var read kısmı çatır çatır çalışıyor. Sunucu da yle aman aman sunucular değil. Bene ayarlarla ilgili bir olay bu. Timeout Standart 5 saniye, sanırım 5 saniye yazmayınca exception atıyor. Benim anladığım şu; çok fazla thread oluşuyor ve Redise yazılmayı bekliyor. Bunlar da n bellekte birikiyor ve orayı şişirip patlatıyor. Okuma işi şyle; atıyorum bir dngüde bir algoritmik işlem yapıyor, bu işlem toplam atıyorum 100 ms sürüyor . Şimdi her bir çevrimde 4 kere okuyor o zaman da 100 ms'de 800 kere okuyor. Ve hiç aramadan bu işi yapıyor. Bu O sebeple yüksek CPU olmasını analarım. Tabi aynı anda o dbye yazıldığı için belki redis içinde bazı şeyler fazla kaynak kullanıyor. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

windows değilde linux makinaya kurup test etsene bi abi herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

Sanirim aradigim olayi buldum :) uygun bir zamanda bir deneme yapacagim Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

hazelcast'in Hazelcast Jet isminde bir servisi var belki ise yarayabilir https://hazelcast.com/products/stream-processing/ ya da influxdata ya bakacagim. Benim olay biraz time series'e giriyor. Cünkü zaman bazli veriler aliyorum Baska servisler de var ama bir cogu cloude bazli calisiyor . Ama ben sistemi kendi VPS'ime kurmayi planliyorum ve direk localde calissin. Biraz arastirma yaptim, kullandigim VPS firmasinin da azure gibi bir local network yaratma imkani var. Yani benim atiyorum 3 tane VPSim olsun, birinde redis server kurulu olsun, diger 2 makineyle, redis server'a local ag üzerinden ulasabiliyorum . Suan icin tek sorunum, datayi düzgünce kaydedip paralel ya da paralele yakin sekilde datayi okumak. Hocam hetzner üzerinde çok kolay sunucular arası sanal ağ kurabilirsin. Bu arada couchbase nosql çzümüne bakmanı neririm. Community versiyonu var ama production ortamında değilseniz enterprise da ücretsiz. Key value servisi işine yarayabilir. N1ql veri sorgulama dili neredeyse SQL ile aynı.

Ehcache i alternatif olarak dusunebilirsin hocam. Kullanimi kolay ve anlaşılır barmak bassak olurmu gadasını aldığım :D