Niktoś
10.11.2011, 20:36:10
Pytam sie jako młody informatyk.Co jest gorsze obciążenie skryptu np.poprzez pętle czy obciązenie bazy danych, naszej strony. Wiadomo jest, żeby unikać takich sytuacji ,ale jakby dochodziło do przeciążenia, co byłoby gorsze?
Opcja 1 wydaje mi się, że przeciążenie skryptu-prawdopodobnie będzie zrywać połączenie z serwerem,mulić stronę.
Opcja2 -zerwaniem połączenia z bazą danych,także mulić stronę.
Co jest groźniejsze.
Pytam się bo będę chciał wprowadzić-filtrację brzydkich słów w komentarzach.
Mam możliwość zrobić to na dwa sposoby-aplikując jakiś skrypt filtracji.
Wykorzystując możliwości bazy danych(taurus w mssql).
Boję się ,że jak dojdzie do dużego ruchu-to jedno obciązy sam skrypt,a drugie obciązy samą bazę.Więc zastanawiam się nad konsekwencjami w razie czego -i robię to już na etapie moich przemyśleń.
Łatwiejsza do wdrożenia wydaje mi się opcja z bazą,lecz mam lekkie obawy bo mam już na swojej instancji zapis sesji do bazy i ról i mam obawy ,że to wszystko może kuleć>wszystko ładnie wygląda,jak baza jest prawie pusta,a nie wiadomo kiedy powiedzieć sobie - "stop dość połączeń z bazą". Co o tym sądzicie?Czy takich sytuacji unika się,kiedy do nich dochodzi-i dopiero dokonuje się optymalizacji?Czy mam jechać na maxa, nie patrząc czy zbyt dużo już tych połączeń i zapytań do puki się coś nie zwiesi??Zależy mi na opiniach osób ,którzy mieli już sytuacje z przeciążeniami ,jak to w praktyce wygląda?
Już mi normalnie łeb pęka,co będzie dobre a co nie.Może po prostu się nie przejmować ,co będzie to będzie , a co przyjdzie z czasem, to dopiero poprawiać?Czy to jest kwestia wyczucia, intuicji by stwierdzić ,że pula połączeń z bazą dochodzi do krytycznej, czy może jest jakiś program który to bada, bo to na razie wygląda jak jazda po omacku ,gdzie nie wiadomo czy na najbliższym metrze znajduje się drzewo.
athabus
10.11.2011, 22:11:02
Na takie pytanie chyba nikt nie odpowie prawidłowo - w ogóle nie napisałeś co to za aplikacja, jak duża itd - ma stać na serwerze współdzielonym czy raczej na kilku dedykach. Ogólnie wiele zależy od sytuacji. Jeśli nie wiesz co będzie lepsze to zrób tak jak będzie Tobie wygodniej, czy jeszcze lepiej zrób tak, aby kod był łatwy w utrzymaniu/rozbudowie. Pojawi się problem to będziesz optymalizował.
lobopol
10.11.2011, 22:24:19
Niktoś nie baw się w filtrowanie wulgaryzmów, to walka z wiatrakami. Użytkownicy zawsze to obejdą np.
http://pokazywarka.pl/antycenzura-na-wykopie/.
Niktoś
10.11.2011, 23:03:34
Ech tam to przeprowadzono filtracje w js,no i ktoś wykorzystał lukę.U mnie robiłaby to baza danych,a całość odbywałoby się po stronie serwera.Przytoczę kawałek możliwości MSSQL(tezaurusa konkretnie):
Cytat
Do wyszukiwania z wykorzystaniem tezaurusa używamy poznanego w poprzednim przykładzie słowa kluczowego FORMSOF z opcją THESAURUS. Umożliwia ono wyszukiwanie słów na podstawie ich synonimów. Pliki z synonimami dla poszczególnych języków obsługiwane przez SQL Server 2005 znajdują się w katalogu {SQL_SERVER_INSTALL_ DIRECTORY}\MSSQL\MSSQL\FTData\, np. dla języka angielskiego plik synonimów ma nazwę tsENG.xml. Pliki te mają format XML i zawierają dwa główne typy gałęzi: • expansion – rozszerza zakres wyszukiwania jednego słowa do jego synonimów; replacement – umożliwia zamianę szukanego słowa innym. W pliku tsENG.xml znajdziemy następujący fragment: <expansion> <sub>Internet Explorer</sub> <sub>IE</sub> <sub>IE5</sub> </expansion> Oznacza on, że w każde wyszukiwanie szukanie słowa IE będzie rozszerzone do słów IE5 i Internet Explorer. Poniższy przykład zwraca wszystkie wiersze, w których znajdują się słowa IE, IE5, Internet Explorer: SELECT * FROM Table WHERE CONTAINS(*,’FORMSO F(Thesaurus,”IE”)’)
IE będzie nadpisane na IE5 ,gdzie IE5 jest przechowywany w pliku xml.To jest prosty przykład.Ja po prostu nadpisywałbym przekleństwo na ****.Wymagałoby to znacznej kombinacji na bazie danych-stąd moje obawy.Będę musiał to poważnie przemyśleć,czy takie coś w ogóle się opłaci.
lobopol
10.11.2011, 23:17:41
Jak dla mnie się nie opłaci bo nigdy nie zrobisz pełnej kombinacji wszystkich możliwości, tylko sobie system zapchasz. Jedyna opcja to moderacja. To co wcześniej pokazałem podmienia znaki w wyrazach na wizualne odpowiedniki których jest jakby nie patrzeć dużo i tak można obejść takiego cenzora. Dodatkowo użytkownicy nawet bez podmieniania znaków mogą pisać w stylu "D\/PA, d.upa, d.u.p.a, d upa, d@pa, itd."(nie będę przecież tutaj klął

). A jeżeli wszystkich kombinacji nie przefiltrujesz (co jest niewykonalne) to i tak ludzie znajdą metodę do przeklinania.
Niktoś
10.11.2011, 23:30:32
Wiesz co chyba masz rację.
Dam sobie z tym spokój i po prostu dodam opcję Raportuj-chciałem po prostu to zautomatyzować.
Można by było także dać ,dwie opcje automatyczne z raportowaniem.Ktoś raportuje,a ja z poziomu Panelu administracyjnego dodaje słowo do pliku xml(katalogu wulgaryzmów).
Ale to pewnie zawaliłoby system tak jak mówiłeś,wątpię, aby baza wytrzymała polską łacinę.Hehe.
by_ikar
11.11.2011, 13:57:51
Taka filtracja ma sens tylko w przypadku podstawowych słów, bez żadnych dodatków. Ilość kombinacji jest tak wielka że znacznie większe koszta poniósłbyś inwestując w sprzęt (o ile strona jest dość intensywnie odwiedzana) niż płacąc komuś za dodatkową moderacje, lub też samemu ją wykonać. Na jednej takie stronie próbowałem właśnie ograniczyć coś takiego, że np jak ktoś podaje nr telefonu czy tam jakiś adres www, czy adres e-mail i jakoś to przenieść do odpowiednich pól kontaktowych, ale to jest szczerze mówiąc masakra. Nieraz widziałem takie alpejskie kombinacje które są zrozumiałem dla czytającego, ale skrypt by tego od tak nie zrozumiał. Wyrażenie regularne było coraz dłuższe a efektu szczerze mówiąc żadnego.. Moderacja zajmowała mi tam godzinkę - dwie, a próba wychwycenia wszystkich kombinacji zajmowała znacznie więcej czasu.
Niktoś
11.11.2011, 15:20:14
Według Ciebie spróbować, wdrożyć to z zestawem podstawowych słów.Resztę moderować?
by_ikar
11.11.2011, 17:16:47
O ile tych słów dużo mieć nie będziesz to jak najbardziej, nie mniej, moderować tak czy inaczej będziesz musiał.
Niktoś
11.11.2011, 17:31:33
Dzięki ,jak widać zdania są podzielone,będę się musiał jeszcze zorientować bardziej,Ale takie rozwiązanie,jakie ty proponujesz też ma sens.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.