**MS Access ile yapılmış bir siteye eş zamanlı 20 kişi girerse Çöker mi?**

turansoylu

New member
Katılım
28 Mar 2006
Mesajlar
184
Reaction score
0
Puanları
0
**MS Access ile yapılmış bir siteye eş zamanlı 20 kişi girerse sistem Çöker mi?**

Elimizde bir site var veri tabanı ms access, siteyi yayına soktuktan sonra kapandı ve host firmamız, ms acces kullandığımız için bunun gerçekleştigini söyledi... acces eş zamanlı 20 kişiyi desteklemiyorMUŞ?
bir taraftan suçu accese atan host yönetimi, siteye saldırı oldugunu da belirttiler.?


Forumlarda biraz araştırma yaptım.. teoridee acces eş zamanlı 255 bağlantıyı destekliyor(microsoft.com), bazıları eş zamanlı 20-30 kişiyi destekledigini söylerken.. bazı arkadaşlar kendi sitelerinden örnekler verip 100 kişi online oldugunda bile bi sorunla karşılaşmadıklarını belirtiyorlar... hatta halen bazı forumlarda bile acces in kullanıldıgını ve onlne kişi sayısı buralarda 150 yi bile aştıgını ama en kücük bir bozulma olmadıgından bahsediliyor...

Accessin en temel sıkıntılarından birinin ms sql e göre çok yavaş olduğunu ve kapasitesinin 2 gb olduğunu öğrendim ki buda milyonlarca kayıt demektir..


Bu konuda fikri olan, arkadaşların yorumlarını bekliyorum...
Şimdiden Teşekkür ederim tüm yorumlar için...
 
bence 20 30 fazla kişinin girmesiyle çökmesi saçma geldi host saldırı oldugunu düşünüyorum bir programcı olarak
 
asp tabanlı bi site sanırım..
bakınız, access yani mdb dosyası xxxxxxx.MDB gibi birşeydir..
bunun içinde değişiklik yapacak olursanız dosyayı sunucuya okutmuş ve değişikliği yaptırıp tekrar kapattırmış olursunuz. 20-30 kişi aynı anda DB ye veri yazdırcak olursa
too many users gibisinden yani çok fazla sayıda kullanıcı var yada yazma izni yok bu dosyaya gibi bi uyarı verir ancak sonraki refresh te düzelir.
mssql daha sağlıklıdır, access ta kullanılan birçok sql cümleciği geçerlidir, ancak ufak tefek değişiklikler vardır . örn : access ta tırnak kullanılmayan yerde mssql de kullanlıyor mesela.. bunlar sorun olmaz, kolay kısmı ancak mssql e geçmeni tavsiye ederim..
 
evet asp tabanlı bir site ancak bir den fazla kişinin vt ye bilveri girişi yapması söz konusu değil. sadece admin yapıyor veri girişini...

ancak aynı anda 100 kişi bir sayfayı okuyabiliyor.. bu da sorun yapmaz sanırım.. host firmamı değiştirsem iyi olacak :)
 
100 kişi okusa yine aynı sonuçta okumak içinde VT yi açar sunucu..
ayrıca veri girişi derken, HIT arttırma, online üyeleri kaydetme, ip log u gibi işlemler oluyo onlarda dahil.. ancak veri girişine gerek yok okumak içinde aynı şekilde açılıyor VT.. mssql e geç eğer haber sitesi gibi bir siten varsa özellikle:D

edit:

ayrıca mssql işini beceremem, uğraşamam diyorsan haber sitesi yad abaşka bir siteyi mssql e çevirtmek yada baştan ücretli yazdırtmak istiyorsan sana önerilerde bulunabilirim
profil de msn adresim var..
 
arkdaşlar access + asp normal olarak 250 online ziyaretçi taşıyabilir üstünde yavaşlamalar görünür(server özelliklerine göre).

Tabiki 250 online demek kodların düzgün yazılması ile ilgilidir. vt bağlantısı sağlandığında mümkün olduğu kadar az recordset ile işinizi halledip recorsetleri kapayıp ve vt ile işlem bittiğinde bağlantı kapanırsa sorun pek çıkmayacaktır.

Ama diğer arkdaşların önderdiği gibi sql kullanmanı öneririm.
mssql ile pek uğraşmazsın kodlarda ama çoğu hostta yok.
mysql ücretsiz olduğu için genelde heryerde bulunur. (kodlamada çok zorlanırsın)

forumda da ilk mesajmı yazmış oldum bu arada
 
hoşgeldin arkadaşım
asp nin olduğu yerde mysql bulmak zor oluyor bazen,
aslında mssql ile mysql in pek bi farkı yok gibi sadece field tiplerinde felan var
birkaç tanede sql cümleciklerinde var...
pagecount gibi birşey denemiştim hata vermişti örn...
yada ben tam hatırlamıorm ama mssql e geçmeni tavsiye ederim
 
yanıt veren herkese teşekkür ederim..
 
msaccess 100.000 kayıt sıralamaya kadar sorunsuz cevap vermektedir. MsAccess ve türev programlarının versiyonları, malumunuz microsoft tarafından yenilenir...

Ayrıca yüksek hitli sitelerde, msaccesin tek dezavantajı mysql veya mssql'a nazaran daha yavaş veri göndermek olacaktır. Fakat bunu da gözünüzde büyütecek bir durum yoktur, en fazla saniyeler oynamaktadır..
 
ben 25 mb den sonra zarar gördügünü ve coktugunu okudum ama günümüzde en iyi veritabanı sql formatında olanlar sqlserver felan ama kullanmayı bilene :eek:
 
20-30 kişi bir veritabanı sistemi için komik rakam. mdb veritabanının aynı anda 1000 kişiyi sorunsuz kaldıracağını sanmıyorum. eğer böyle büyük çapta projeniz varsa ms sql kullanının. milyonlarca kayıt ve kullanıcıyı tık demeden kaldıracaktır.
 
Sorun şu da olabilir eğer veri tabanını kullanıma açtıktann sonra kapatmadıysanız ldb dosyası şişer ve hata oluşur..
 
komedi ya 20-30 mu :D arkadaşım önceden mssql mi vardı access+asp az site çok kullanıcı sonra piyasada gördüğün %90 asp forum webwiz webiwizcilerde access ağırlıklı kullanır alışkanlık aspde problemsiz kullanışı vs webwiz aynanda 1000lerce üyeyi kaldırıoda onca tablo ve kayda rağmen sen bana glmiş komik bi rakam ortaya atıosn kimin ne dediği önmli diil tabiki mssql ile rakip tutulamaz ama şöle 5000-10000-20000 i devirecek sisteminiz yoksa bunun söylemlerinden korkmak vs yersiz haa access in en büyük devavantajı çok çabuk şişer bi repair çekersiniz toparlanır. bide millet Access 2007 harika bişi ama uzantısı accdb + jet oledb 4.0 destek vermio bu en güncel en iş gören veritabanının en sonki ve en problemsiz sürümü için asp.netden başka çıkışınız yok gibi görünüyor. ;)
 
bence alakası war arkadaşlar aynı şey benimde başıma geldi

www.arkadasimxxxxx.com gibi bi sitem war

şu anda accses kullanıorum
12240 üyem oldu

bugün farkettim
49 kişi online dı
bende girdim 50 oldu ondan sonra
site uçtu
to many hatası verdi uçtu
serveri resetledik öle düzeldi
beyler mssql geçmek lasım
 
Too many hatası database kodlarının hatalı yazılmasından kaynaklanır. Serverı resetleyip düzelecek bir veritabanı yoktur. Too many hatası'nın genel nedeni açtığınız connectionların birden çok kez açılmış olmasıdır. Zaman içerisinde bu hata tekrarlayacaktır. Kod yapılarınızdaki bozukluğu gidermeniz gerekecektir.
 
walla benim mdb 37 mb bir arakdaşlık sistemim war online 50 kişi olduğunda sistem cortluyor o yüzden mysql'ê geçecem too many connections die hata alıom site açılmıo + tüm hosting cortluyor

:D
 
Too many connections die
hata verir serveri bile kitler ellaham

benim başıma geldi 50 kişi online olmuş db patlamış hehehee
mysql geçtim no problem artık
 
benim acsess data 119 mb.

Ben arkadaşlara katılmıyorum benim database 119 mb. arkadaşlık site si zaman zaman anlık giriş 300 kişiye ulaşıyor, ortalama anlık 150 online üye oluyor bu üyelerin arama yaptığını, profil okuduğunu düşünürseniz, yoğun bir data kullanımı var.
Kısaca sorunsuz kullanıyorum,

Sorunun ms-acsess den kaynaklandığını sanmıyorum,

Ancak kaynaklanmasa da bende Msql e geçmeyi düşünüyorum.
 
Kardeşim benim debi daha 1,3 mb siteye hit-al com gibi hit gönderen sitelerden kullanıcı geliyor site ana sayfasında aynı anda 30 kişi oluyor diyelim işte o anda ben siteye kullanıcı adımla giriş yapamıyorum belki hata script yazımındadır ama birşey anlamıyorum kodları değiştim yine aynı Provider error '80004005' Unspecified error gibi bi hata veriyor sayfayı yenileyince site tekrar açılıyor forumlarda araştırdım acess ten kaynaklanıyormuş. yukarda bir arkadaş gayet mantıklı birşey demiş eskiden az site çok kullanıcı vardı acess niye çökmüyordu katılıyorum ama ortada örnek var biri bana bu konuda yardım edermi acaba sonra acess i mssql yada mysql a nasıl çevireceğim hostum üçünüde destekliyor ama birinin yardımı lazım varmı yardım sever biri? bana pm atsın lütfen...
 
Uzun bir aradan sonra Kendi Soruma cevap vereyim istedim :)

Bu konuyu açtıktan sorna epey makale okudum. Ve Söz konusu sitedeki sorunların nelerden kaynaklandıgını gördüm. Ve düzneledim.

Öncelikle İnternet üzerinden yayın yapacak bir ASP sitenin, özellikle haber sitesiyse veya ziyaretçi sayısının yüksek olacagı bir siteyse ACCESS ile yapılması çok mantıksız.
Çnükü Access buna yetişemiyor ve çok hantal kalıyor. Daha kücük uygulamalarda kullanırsak sorun yaşanmaz.
Ayrıca söz konusu kilitlenmenin bir nedeni de RS'lerin yani SQL bağlantı cümlelerinin kapanmıyor olması da gösterilebilir.
Bir bağlantıyı yapıyorsun işin bitti mi kapat..

Tanımlama:
Set rs=Server.Createobject.... vsvs
rs.open....
..
..
İşlemler:
..
..

Kapama:
Rs.close
Set rs=nothing


bunu yapmadıgımız takdirde açılan recordsetler iis i yoruyor ve hata alıyoruz.

Temel çözüm, kodlamalara dikkat etmemiz gerekiyor.
Büyük bir siteyse MSSQL kullanmalıyız.
Access ile yaptıgınız bir siteyi MSSQL'e çevirmek çok zor bir işlem değil.
Dikkat edilmesi gereken önemli noktalardan biri accessde otomatik sayıların , mssqlde karşılıgı olan değerine artışı kısmı default olarak no geiyor. yani otomatik artmasın diye bir anlam çıkıyor. bu tablolara girip bunları yes yapacagız. identity kısımlarını yani.
Bir de SQL injection a karşı önlemimizi alacagız.
Form ve Querystringlerden gelen verileri temizleyeceğiz...
ASPrehberi.net sitesinde bu konuyla ilgili güzel makaleler var.

Bu konuda sıkıntısı olan arkadaşlara --ki benim birkaç ay önce bu konuda çok büyük bir sıkıntım vardı ve destek aradım kimseden bulamadım Google dan başka :)-- yardımcı olabilirim..

Umarım sorunu ve çözümü anlatabilmişimdir.
 
Geri
Üst