Siteme Erişim Problemi Hk.
-
pesimistzombie bunu yazdı
Localhosttaki db dediğiniz olay; site sunucudan sizin localhostunuzdaki dbye bağlanarak mı işlem yapıyor?
Site sunucu ile alakalı bir durum söz konusu değil, localhostta access'te hazırladığımız bir *.mdb dosyası bunu localde açıyor yeni alınmıs haberleri belirliyor örneğin yeni gelen haber 2 tane bu iki haberi sitedeki sunucuya kayıt ediyor tek yaptığı işlem bu.
-
hocam kurduğun düzeneği cidden anlamadım. Anladığımı ve anladığıma göre oluşabilecek sorunları yazıyorum;
Anladığım 1; uzak bir sitedeki rssleri bir asp sayfasında çekip access dbye kaydediyorsunuz. Eğer bu haberlerde resim varsa bunu da başka sunucuya yolluyorsunuz. Bu asp sayfasını da kendiniz 2 dakikada bir yeniliyorsunuz yani siteye entegre değil kullanıcılar girdikçe yenilemiyor bunu. Ve siz bunda sorun yaşamıyorsunuz.
- 2 dakikada 1 çok kısa bir süre. Hosting sürekli işlem yapmak zorunda kalıyor. Timeout süreniz uzunsa, rss ile çekilen verinin bulunduğu site anlık bir takılma yaşar da size veri gelmezse veri gelene kadar bekleteceği için o sırada o asp dosyasının bulunduğu application poola erişim yapılamaz. 2 dakika bittikten sonra yine bir 2 dakika daha denerse site komple döngüye girer o kod. application pool ya durur ya da kilitlenir.
- Aynı anda yine uzak sunucudan resim çekme işlemi yaptırıyorsunuz bu da create object kullanılıyor demektir. Yukarda bahsettiklerim bunun için de geçerli. Döngü içinde döngü anlamına gelir. Timeoutu uzun tutmak yerine kısa tutmalısınız veya kodlarınızda bu durumu belirtmelisiniz ki uzaktaki sunucuya erişim yoksa komple bağlantıyı kesip normal hayatına devam etsin site beklemesin işlem yapıcam diye.Anladığım 2; rss ile çekip kaydettiğiniz access dbdeki verileri çekip ana sitenin dbsinde var mı yok mu diye kontrol ederek içerik ekleme yaptırıyorsunuz. Ve bunda da sorun yaşamıyorsunuz.
- Bir dbdeki veriyi başka bir dbdeki verilerle karşılaştırırken sayısal değerlerle işlem yapmaya özen gösterin text, varchar gibi alanlarla karşılaştırma yaptırıyorsanız ve bu işlemi hedef dbdeki ekli tüm verileri karşılaştırarak yapıyorsanız performans sorunu yaşarsanız ancak create objectlerde olduğu gibi komple kilitlemez siteyi.
Anlayamadığım 3; siz elle veri girince bile site sorun yaşatmaya başlıyor diyorsunuz. Yukardaki önemli noktalarda hiç sorun yaşamazken basit bir veri girmeyle sorun yaşıyorsanız sorun yukardakilerle bağlantılı anlamına gelir bence. O noktada kodlar ne durumda göremediğim için kör atışı yapıyorum şuan belki de bunların hiç birinde değil sorun ancak yine de kullanılan bu yöntem hiç sağlıklı değil.
-
pesimistzombie bunu yazdı
hocam kurduğun düzeneği cidden anlamadım. Anladığımı ve anladığıma göre oluşabilecek sorunları yazıyorum;
Anladığım 1; uzak bir sitedeki rssleri bir asp sayfasında çekip access dbye kaydediyorsunuz. Eğer bu haberlerde resim varsa bunu da başka sunucuya yolluyorsunuz. Bu asp sayfasını da kendiniz 2 dakikada bir yeniliyorsunuz yani siteye entegre değil kullanıcılar girdikçe yenilemiyor bunu. Ve siz bunda sorun yaşamıyorsunuz.
- 2 dakikada 1 çok kısa bir süre. Hosting sürekli işlem yapmak zorunda kalıyor. Timeout süreniz uzunsa, rss ile çekilen verinin bulunduğu site anlık bir takılma yaşar da size veri gelmezse veri gelene kadar bekleteceği için o sırada o asp dosyasının bulunduğu application poola erişim yapılamaz. 2 dakika bittikten sonra yine bir 2 dakika daha denerse site komple döngüye girer o kod. application pool ya durur ya da kilitlenir.
- Aynı anda yine uzak sunucudan resim çekme işlemi yaptırıyorsunuz bu da create object kullanılıyor demektir. Yukarda bahsettiklerim bunun için de geçerli. Döngü içinde döngü anlamına gelir. Timeoutu uzun tutmak yerine kısa tutmalısınız veya kodlarınızda bu durumu belirtmelisiniz ki uzaktaki sunucuya erişim yoksa komple bağlantıyı kesip normal hayatına devam etsin site beklemesin işlem yapıcam diye.Anladığım 2; rss ile çekip kaydettiğiniz access dbdeki verileri çekip ana sitenin dbsinde var mı yok mu diye kontrol ederek içerik ekleme yaptırıyorsunuz. Ve bunda da sorun yaşamıyorsunuz.
- Bir dbdeki veriyi başka bir dbdeki verilerle karşılaştırırken sayısal değerlerle işlem yapmaya özen gösterin text, varchar gibi alanlarla karşılaştırma yaptırıyorsanız ve bu işlemi hedef dbdeki ekli tüm verileri karşılaştırarak yapıyorsanız performans sorunu yaşarsanız ancak create objectlerde olduğu gibi komple kilitlemez siteyi.
Anlayamadığım 3; siz elle veri girince bile site sorun yaşatmaya başlıyor diyorsunuz. Yukardaki önemli noktalarda hiç sorun yaşamazken basit bir veri girmeyle sorun yaşıyorsanız sorun yukardakilerle bağlantılı anlamına gelir bence. O noktada kodlar ne durumda göremediğim için kör atışı yapıyorum şuan belki de bunların hiç birinde değil sorun ancak yine de kullanılan bu yöntem hiç sağlıklı değil.
Hocam ilk maddede herşeyi doğru anladınız yalnız bahsettiğim gibi sunucu resim yükleme olayını farklı bir hostingde gerçekleştiriyor yani mevcut site ile uzaktan yakından bağlantısı olmayan bir hostingde biz sitede bu hostingden resimleri çekiyoruz sadece.
Timeout süresine gelince veritabanından bahsettiğiniz gibi ana site ile herhangi bir kontrol yapmıyor sadece alıyor kaydediyor seti kapatıyor alıyor kaydediyor seti kapatıyor ki bahsettiğiniz gibi sadece text ve varchat alanlarına toplam boyutu 2kb'i geçmeyen veriler bunlar, aldığı haber sayısına gelince en fazla bir anda 3 tane ki bunun işlem süresi yaklaşık 30 sn sürüyor arta kalan zamanlardada sayfa zamanın dolmasını bekliyor ki bu işlem sırasındada herhangi bir problem yaşamıyoruz
3. maddenizde bu sayfaları komple kapattıktan sonra evet yani ajanstan gelen haberlerin db ye ve siteye kaydettiren sayfaları tamamen kapattıktan sonra, manuel girdiğimiz haberlerden kısa bir süre sonrada aynı sorunu yaşamaya devam ediyoruz.
-
Peki bu al ver kaydet olayını neden yapıyorsunuz? Neden direk ana dbye geçirttirmiyorsunuz? Sadece aklıma takıldı. Siz komple kendi bilgisayarınızdaki local hostunuza alın siteyi ve test edin. Kodlarınızda on error resume next varsa kaldırın test yaparken. IIS loglarından takip edin hata veren sayfaları. Eğer site localde de kasmaya başlarsa hdd, internet, cpu, ram artışına bakıp takip edin. Sorun yaşadığınız sayfaları bölüm bölüm response end ile bitirerek kasma var mı yok mu kontrol edin. uzaktan anca bu kadar yardımcı olabiliyorum.
Bir de sayfalarınızın en başında veya ilk include dosyanızın en başına
IF Response.IsClientConnected = False Then Response.End
kodunu eklemeyi unutmayın bir kullanıcıda sayfa açılmazsa kullanıcı sayfayı kapasa bile iis işlem yaptırmaya devam eder. bu kod sayfayı kapayan cliente komple sayfaları sonlandırır.
pesimistzombie tarafından 16/Ağu/14 01:50 tarihinde düzenlenmiştir -
pesimistzombie bunu yazdı
Peki bu al ver kaydet olayını neden yapıyorsunuz? Neden direk ana dbye geçirttirmiyorsunuz? Sadece aklıma takıldı. Siz komple kendi bilgisayarınızdaki local hostunuza alın siteyi ve test edin. Kodlarınızda on error resume next varsa kaldırın test yaparken. IIS loglarından takip edin hata veren sayfaları. Eğer site localde de kasmaya başlarsa hdd, internet, cpu, ram artışına bakıp takip edin. Sorun yaşadığınız sayfaları bölüm bölüm response end ile bitirerek kasma var mı yok mu kontrol edin. uzaktan anca bu kadar yardımcı olabiliyorum.
Yarın ilk işim bu sorun ile alakalı düzenlemeleri tekrar gözden geçirmek olacak. Vakit ayırdığınız ve analiz yaptığınız için çok teşekkür ederim.
-
Arkadaşlar siteyi optimize ettim yaklaşık 9 kod hatası aldım bunları local'de düzeltip sorunsuz şekilde çalıştığına şahit olduktan sonra tekrar upload ettiğimde sorunumuz malesef hala çözülmedi ama az da olsa iyileşme sağladı. Yalnız dediğim gibi mantıksız ve bir o kadarda saçma olan bu sorunun hala devam etmesi çok sinir bozucu...
Bu arada farklı method arayışlarına girdim sizden bir konuda yardım isteyeceğim.
Tarayıcı önbellekleme özelliği
Sistem windows sunucuda kurulu o yüzden sistem'de bunu web.config'de yaptım sanırım kısmende olsa başarılı oldum sayılır çünkü gözle görülür ufak hızlanmalar mevcut, yalnız diğer hosting'den çektiğim resimlerin malesef cache'lemesini yapmadı. Sebebi farklı sunucuda olması sanırım.
Resimlerin yüklü olduğu sunucuyu hızlı olması bakımından linux tercih etmiştik. Sanırım bu önbellekleme özelliği .httaccess ile yapılıyor. Linux servere çok aşırı yabancı ve cahil olduğum için araştırmalarım sonuçsuz kaldı.
Server'de nerde bu dosya ?, varsa nasıl editleyeceğim ? yoksa nasıl ve nereye kayıt edeceğim en önemlisi .httaccess dosyasına neler yazacağım ?
Açıkcası istediğim tek şey resimlerin cachelenmesi. Konu hakkında varsa bilgisi olan lütfen bilgilendirirse sevinirim.
-
UmutxTR bunu yazdı
Arkadaşlar siteyi optimize ettim yaklaşık 9 kod hatası aldım bunları local'de düzeltip sorunsuz şekilde çalıştığına şahit olduktan sonra tekrar upload ettiğimde sorunumuz malesef hala çözülmedi ama az da olsa iyileşme sağladı. Yalnız dediğim gibi mantıksız ve bir o kadarda saçma olan bu sorunun hala devam etmesi çok sinir bozucu...
Bu arada farklı method arayışlarına girdim sizden bir konuda yardım isteyeceğim.
Tarayıcı önbellekleme özelliği
Sistem windows sunucuda kurulu o yüzden sistem'de bunu web.config'de yaptım sanırım kısmende olsa başarılı oldum sayılır çünkü gözle görülür ufak hızlanmalar mevcut, yalnız diğer hosting'den çektiğim resimlerin malesef cache'lemesini yapmadı. Sebebi farklı sunucuda olması sanırım.
Resimlerin yüklü olduğu sunucuyu hızlı olması bakımından linux tercih etmiştik. Sanırım bu önbellekleme özelliği .httaccess ile yapılıyor. Linux servere çok aşırı yabancı ve cahil olduğum için araştırmalarım sonuçsuz kaldı.
Server'de nerde bu dosya ?, varsa nasıl editleyeceğim ? yoksa nasıl ve nereye kayıt edeceğim en önemlisi .httaccess dosyasına neler yazacağım ?
Açıkcası istediğim tek şey resimlerin cachelenmesi. Konu hakkında varsa bilgisi olan lütfen bilgilendirirse sevinirim.
hostun işletim sistemi tam olarak nedir ?
mod_gzip mi mod_deflate mi kurulu bu bilgileri php.ini dosyası oluşturarak alabilirsin.
info.php diye bir dosya oluşturup içine <? phpinfo(); ?> yaz kaydet ve anadizine at ardından info.php' yi çalıştırıp mod_gzip ve mod_deflate arattır hangisi kuruluysa çıkacaktır.
.htaccess dosyası ana dizinde olur yoksa da oluşturulabilir htaccess.txt oluşturup içerisine istediğin kodları yazar hostuna upload edip ardından ismini .htaccess olarak değiştirirsin olur biter.<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
bu kodu .htaccess içine yapıştırabilirsin görüldüğü gibi html, txt, css, js, php ve image dosyaları sıkıştırılarak sunulmakta.
-
sRcN bunu yazdıUmutxTR bunu yazdı
Arkadaşlar siteyi optimize ettim yaklaşık 9 kod hatası aldım bunları local'de düzeltip sorunsuz şekilde çalıştığına şahit olduktan sonra tekrar upload ettiğimde sorunumuz malesef hala çözülmedi ama az da olsa iyileşme sağladı. Yalnız dediğim gibi mantıksız ve bir o kadarda saçma olan bu sorunun hala devam etmesi çok sinir bozucu...
Bu arada farklı method arayışlarına girdim sizden bir konuda yardım isteyeceğim.
Tarayıcı önbellekleme özelliği
Sistem windows sunucuda kurulu o yüzden sistem'de bunu web.config'de yaptım sanırım kısmende olsa başarılı oldum sayılır çünkü gözle görülür ufak hızlanmalar mevcut, yalnız diğer hosting'den çektiğim resimlerin malesef cache'lemesini yapmadı. Sebebi farklı sunucuda olması sanırım.
Resimlerin yüklü olduğu sunucuyu hızlı olması bakımından linux tercih etmiştik. Sanırım bu önbellekleme özelliği .httaccess ile yapılıyor. Linux servere çok aşırı yabancı ve cahil olduğum için araştırmalarım sonuçsuz kaldı.
Server'de nerde bu dosya ?, varsa nasıl editleyeceğim ? yoksa nasıl ve nereye kayıt edeceğim en önemlisi .httaccess dosyasına neler yazacağım ?
Açıkcası istediğim tek şey resimlerin cachelenmesi. Konu hakkında varsa bilgisi olan lütfen bilgilendirirse sevinirim.
hostun işletim sistemi tam olarak nedir ?
mod_gzip mi mod_deflate mi kurulu bu bilgileri php.ini dosyası oluşturarak alabilirsin.
info.php diye bir dosya oluşturup içine <? phpinfo(); ?> yaz kaydet ve anadizine at ardından info.php' yi çalıştırıp mod_gzip ve mod_deflate arattır hangisi kuruluysa çıkacaktır.
.htaccess dosyası ana dizinde olur yoksa da oluşturulabilir htaccess.txt oluşturup içerisine istediğin kodları yazar hostuna upload edip ardından ismini .htaccess olarak değiştirirsin olur biter.mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
bu kodu .htaccess içine yapıştırabilirsin görüldüğü gibi html, txt, css, js, php ve image dosyaları sıkıştırılarak sunulmakta.
Hocam söylediklerini aynen uyguladım yalnız değişen birşey olmadı yine aynı hatayı veriyor, ayrıca ben işletim sistemini bahsettiğin şekilde info.php olarak servere attım lakin gzip ve deflate diye arattığımda, aşağıdaki columslerde çıkıyorlar.
Environment
Variable Value HTTP_ACCEPT_ENCODING gzip,deflate,sdch PHP Variables
Variable Value _SERVER["HTTP_ACCEPT_ENCODING"] gzip,deflate,sdch _ENV["HTTP_ACCEPT_ENCODING"] gzip,deflate,sdch Stream Filter zlib.inflate, zlib.deflate Phar
Phar: PHP Archive support enabled gzip compression enabled -
Hocam sanırım gzip olmadığı için olmuyor biraz daha araştırma ile bulup test ettiğim kodlar işe yaradı böyle Tarayıcı Önbelleği ile ilgili benzer sorun için aşağıdaki .httaccess'i kullanabilirsiniz.
# Enable GZIP <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </ifmodule> # Expires Headers - 2678400s = 31 days <ifmodule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 2678400 seconds" ExpiresByType text/html "access plus 7200 seconds" ExpiresByType image/gif "access plus 2678400 seconds" ExpiresByType image/jpeg "access plus 2678400 seconds" ExpiresByType image/png "access plus 2678400 seconds" ExpiresByType text/css "access plus 750000 seconds" ExpiresByType text/javascript "access plus 2678400 seconds" ExpiresByType application/x-javascript "access plus 2678400 seconds" </ifmodule> # Cache Headers <ifmodule mod_headers.c> # Cache specified files for 31 days <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$"> Header set Cache-Control "max-age=2678400, public" </filesmatch> # Cache HTML files for a couple hours <filesmatch "\.(html|htm)$"> Header set Cache-Control "max-age=7200, private, must-revalidate" </filesmatch> # Cache PDFs for a day <filesmatch "\.(pdf)$"> Header set Cache-Control "max-age=86400, public" </filesmatch> # Cache Javascripts for 31 days <filesmatch "\.(js)$"> Header set Cache-Control "max-age=2678400, private" </filesmatch> </ifmodule>
-
Üstadlar konu hala güncel. Sorun hala çözülebilmiş değil. Tüm optimizeler başarılı bir şekilde yapılmasına rağmen hala ara ara kasmalar yaşıyoruz. İçerik eklensede eklenmesede özellikle öğlen ve akşam üstü 5-10 dk da bir yaşıyoruz, içerik eklenir eklenmezde üzerinden 1 dk geçtikten sonra yaşıyoruz sorunu. Anlamadım gitti botlar tarafından işgal edilmiş olabilir miyiz ?