Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

46 Stron V   1 2 3 > » 

redeemer
Napisane: 5.07.2019, 08:34:10





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Cytat(kastore @ 4.07.2019, 20:47:08 ) *
Witam
Nie chciałem tworzyć nowego tematu, bo moje pytanie obejmuje problemy z połączeniem z bazą danych.
Jestem "opiekunem" bardzo rozbudowanej i zagmatwanej aplikacji webowej. Aplikacja napisana głównie w PHP 5.5, ale jest tam w zasadzie wszystko.
Nagle po nie wiem jakim czasie admin sewera zgłosił się do mnie , że proces mysqld na serwerze przekracza 100% zajętości procesora
Nigdy się to nie zdarzało, zwykle szczytowo raz dziennie jest to okoł 25%
Zespół MySQL zaczął analizować ewentualne powody i wyszło między , że aplikacja nie zamyka połączeń z bazą danych, co gorsza, otwoera cały czas nowe.
Jak można by było kontrolować przed otwarciem nowego połączenia czy już takie nie jest otwarte?
Znalazłem także coś takiego
  1. $conn = mysql_pconnect($host,$user,$password)


Wiem, że ta funkcja jest deprecated, ale ta aplikacja jest napisana pod PHP 5.5, także czy można coś takiego używać.

Nie trzyma się to kupy. Wiszące połączenia nie powinny powodować obciążenia procesora, co najwyżej wysyci się ilość możliwych połączeń i aplikacja przy kolejnym połączeniu dostanie błąd: "Too many connections" (poza tym baza sama zamyka nieaktywne połączenia po jakimś czasie w zależności od ustawienia konfiguracji). Stawiam bardziej na to, że jakieś zapytanie/zapytania zajeżdża bazę i wykonuje się bardzo długo (klient może zamknąć stronę, ale zapytanie w bazie i tak będzie się dalej wykonywać - połączenie będzie wisieć dopóki się nie skończy).

Polecam sprawdzić slowlog, albo
Kod
show full processlist
kiedy jest obciążona - wtedy zobaczysz które zapytania zajeżdzają bazę. Póżniej explain na tych zapytaniach i będzie wiadomo dlaczego tak się dzieje.
  Forum: MySQL · Podgląd postu: #1243312 · Odpowiedzi: 9 · Wyświetleń: 1 818

redeemer
Napisane: 30.03.2019, 12:23:33





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Cytat(zdun @ 30.03.2019, 09:52:04 ) *
....
Ten przyklad caly pochodzi z tamtej strony ktora podalem. Raczej nikt tam blefu nie popelnil. Wiec gdzie on jest tutaj skoro wszystko powinno dzialac.

Ten artykuł ma 15 lat!
  Forum: PHP · Podgląd postu: #1239813 · Odpowiedzi: 19 · Wyświetleń: 1 109

redeemer
Napisane: 30.03.2019, 12:40:25





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Jeżeli koniecznie z jakiegoś powodu nie chcesz zapisywać sesji na dysku (standardowe ustawienie php), to lepiej do tego nadają się memcached albo redis.
Wystarczy zmienić odpowiednie ustawienia:

Kod
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

Rzuć też okiem na resztę opcji dotyczących sesji:

https://www.php.net/manual/en/session.configuration.php
  Forum: PHP · Podgląd postu: #1239817 · Odpowiedzi: 19 · Wyświetleń: 1 109

redeemer
Napisane: 23.03.2018, 09:30:02





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Przeniesienie composer.lock i wywołanie composer install zapewni, że wersje bibliotek będą dokładnie takie same co w projekcie lokalnym.

https://www.engineyard.com/blog/composer-it...t-the-lock-file
  Forum: Przedszkole · Podgląd postu: #1231044 · Odpowiedzi: 2 · Wyświetleń: 601

redeemer
Napisane: 19.02.2017, 19:15:55





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

https://developer.mozilla.org/en-US/docs/Web/API/History_API
  Forum: JavaScript · Podgląd postu: #1211175 · Odpowiedzi: 3 · Wyświetleń: 834

redeemer
Napisane: 15.02.2017, 14:57:15





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Przypomina trochę https://fonts.google.com/specimen/Montez.
  Forum: Hydepark · Podgląd postu: #1210895 · Odpowiedzi: 5 · Wyświetleń: 780

redeemer
Napisane: 14.02.2017, 12:39:39





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Debuguj.

Jak masz w komunikacie diagnostycznym jakieś warningi, w stylu:
Kod
...
Query OK, N rows affected, X warnings (0.00 sec)
Records: N  Duplicates: 0  Warnings: X
...
to wyświetl je za pomocą SHOW WARNINGS.

Czy tabele są takie same:
  1. CREATE TABLE tabela_nowa LIKE tabela_stara


Sprawdź których rekordów brakuje (a niby powinny być), w stylu:
  1. SELECT COUNT(id) FROM tabela_nowa WHERE id NOT IN (SELECT id FROM tabela_stara AND ... [dodatkowe warunki] )


Zamiast LIMIT spróbuj porcjować po ID (id<10000 itd).
  Forum: Bazy danych · Podgląd postu: #1210845 · Odpowiedzi: 17 · Wyświetleń: 2 145

redeemer
Napisane: 31.01.2017, 12:38:57





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Dodatkowo w środowiskach rozproszonych, gdzie aplikacja jest "zreplikowana" na n węzłow jest to "must-have".
  Forum: PHP · Podgląd postu: #1209772 · Odpowiedzi: 12 · Wyświetleń: 666

redeemer
Napisane: 22.01.2017, 21:20:13





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Uwaga, udzielam odpowiedzi na pytanie: NIE.
  Forum: Przedszkole · Podgląd postu: #1209017 · Odpowiedzi: 7 · Wyświetleń: 517

redeemer
Napisane: 16.10.2016, 09:50:59





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Sprawdź logi jaki dokładnie występuje błąd.
  Forum: Serwery WWW · Podgląd postu: #1202283 · Odpowiedzi: 3 · Wyświetleń: 1 469

redeemer
Napisane: 5.10.2016, 15:34:13





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Cytat
Wszystko to potem jest kompilowane w jeden plik .js
Czym? Gdzie? Jak? ;-) Bo to właśnie tutaj powinienieś to zmienić IMO.

Co do modyfikacji package.json to pewnie musisz zmienic nazwe na np. openlayers-debug czy cos, wrzucic do tgz i potem npm install plik.tgz (chyba mozna tak w npm instalowac pakiety?), ale to tylko moje przypuszczenia ;-)
  Forum: Po stronie przeglądarki · Podgląd postu: #1201475 · Odpowiedzi: 11 · Wyświetleń: 643

redeemer
Napisane: 5.10.2016, 15:11:30





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Cytat(nospor @ 5.10.2016, 16:07:53 ) *
Wiem. Wlasnie do niego linkuje i dostaje blad ktory napisalem
Jak wyglada HTML, skad sie tam bierze <script src='.../ol.js' />, bo to tam musisz zmienić.

Ewentualnie opcja "jestem hardkorem" i openlayers/package.json:
Kod
...
  "main": "dist/ol.js",
...
  "browser": "dist/ol.js",
...
  Forum: Po stronie przeglądarki · Podgląd postu: #1201471 · Odpowiedzi: 11 · Wyświetleń: 643

redeemer
Napisane: 5.10.2016, 15:06:51





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

W openlayers w dist masz ol-debug.js
  Forum: Po stronie przeglądarki · Podgląd postu: #1201469 · Odpowiedzi: 11 · Wyświetleń: 643

redeemer
Napisane: 26.09.2016, 08:30:34





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Zobacz na "gotowe algorytmy" wykorzystywane np w turniejach szachowych:

http://szachmistrz.pl/jak-obliczyc-normy-n...e-szachowe.html
https://pl.wikipedia.org/wiki/System_Buchholza
https://pl.wikipedia.org/wiki/System_Sonneberga-Bergera
https://pl.wikipedia.org/wiki/Metoda_progresji
  Forum: Szukam · Podgląd postu: #1200884 · Odpowiedzi: 4 · Wyświetleń: 1 721

redeemer
Napisane: 26.09.2016, 17:54:52





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

:-)

https://en.wikipedia.org/wiki/Haversine_formula

http://stackoverflow.com/questions/1475027...ormula-with-php
  Forum: Hydepark · Podgląd postu: #1200953 · Odpowiedzi: 2 · Wyświetleń: 564

redeemer
Napisane: 20.09.2016, 11:05:39





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

  1. SELECT brand_name FROM brand LEFT JOIN template ON brand.id = template.brand_id LEFT JOIN project ON project.template_id = template.id WHERE project.name="Magda";
  Forum: Bazy danych · Podgląd postu: #1200475 · Odpowiedzi: 1 · Wyświetleń: 953

redeemer
Napisane: 12.09.2016, 13:01:43





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Cytat(ziemniak @ 11.09.2016, 01:33:38 ) *
Witajcie, czy testowaliście procesory IBM POWER w przypadku wydajności przy algorytmach RSA lub MD5? Szczególnie RSA dla powyżej 1024 bitów

Macie jakieś doświadczenia? Swoją drogą pomimo wysokiej ceny wydajnościowo podobno się opłaca tego używać jeżeli mamy tego dużo - lecz ile w tym prawdy?

Czy ktoś może potwierdzić albo zaprzeczyć?
Raczej do łamania hashy się używa teraz kart graficznych (np. https://hashcat.net/hashcat/ )
  Forum: Serwery WWW · Podgląd postu: #1199869 · Odpowiedzi: 2 · Wyświetleń: 725

redeemer
Napisane: 8.09.2016, 11:19:01





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Ale PHP_EOL !=CR ("\r"). PHP_EOL to zazwyczaj albo CR+LF ("\r\n") @ Windows, albo samo LF ("\n") @ Unix-like.
  Forum: Przedszkole · Podgląd postu: #1199596 · Odpowiedzi: 5 · Wyświetleń: 338

redeemer
Napisane: 25.08.2016, 12:40:21





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

  1. $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit nazwa-XXXXXXXXX, bibendum elit id pulvinar. Curabitur et cursus leo. Sed eu tellus nazwa-XXXXXXXXX, consectetur adipiscing ipsum dolor sit...';
  2. preg_match_all('#nazwa-(.+?),#', $str, $matches);
  3. var_dump($matches);
  Forum: Przedszkole · Podgląd postu: #1198720 · Odpowiedzi: 3 · Wyświetleń: 298

redeemer
Napisane: 20.08.2016, 10:29:00





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

  1. ALTER TABLE `tabela` MODIFY id int(11) FIRST;
  Forum: Przedszkole · Podgląd postu: #1198403 · Odpowiedzi: 4 · Wyświetleń: 298

redeemer
Napisane: 13.08.2016, 09:57:24





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

  1. preg_match_all('/[0-9]{9}/', $input, $matches);
  2. var_dump($matches);

  Forum: Przedszkole · Podgląd postu: #1197974 · Odpowiedzi: 2 · Wyświetleń: 378

redeemer
Napisane: 11.08.2016, 10:57:08





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

https://stackoverflow.com/questions/1881699...ntific-notation
  Forum: Hydepark · Podgląd postu: #1197850 · Odpowiedzi: 8 · Wyświetleń: 838

redeemer
Napisane: 10.08.2016, 13:42:41





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Bo traktuje to jako zapis liczby w notacji naukowej. Prawym na komorce -> Formatuj -> Tekst.
  Forum: Hydepark · Podgląd postu: #1197783 · Odpowiedzi: 8 · Wyświetleń: 838

redeemer
Napisane: 5.08.2016, 12:53:11





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Cytat(nospor @ 5.08.2016, 12:26:51 ) *
Liczba parametrow nie ma znaczenia na czas wykonywania funkcji.
Nie do końca :-) Im więcej argumentów tym prolog i epilog funkcji na niższym poziomie będzie dłuższy (odkładanie i ściąganie ze stosu większej ilości elementów). Jest to jednak tak bardzo mała różnica (2 pojedyńcze instrukcje procesora na kolejną zmienną), że nie ma się co tym przejmować.
  Forum: Przedszkole · Podgląd postu: #1197483 · Odpowiedzi: 4 · Wyświetleń: 301

redeemer
Napisane: 20.06.2016, 09:22:26





Grupa: Zarejestrowani
Postów: 915
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----

Na szybko:
  1. <?php
  2.  
  3. $a1 = [
  4. 14 => [ 'id' => 14, 'first_name' => 'Jan', 'last_name' => 'Kowalski' ],
  5. 13 => [ 'id' => 13, 'first_name' => 'Anna', 'last_name' => 'Kowalska' ]
  6. ];
  7.  
  8. $a2 = [
  9. [ 'id' => 14, 'article_name' => "Artykul 1" ],
  10. [ 'id' => 14, 'article_name' => "Artykul 2" ],
  11. [ 'id' => 13, 'article_name' => "Artykul 3" ],
  12. [ 'id' => 13, 'article_name' => "Artykul 4" ],
  13. [ 'id' => 15, 'article_name' => "Artykul 0" ],
  14. ];
  15.  
  16. $ret = [];
  17. foreach($a2 as $a) {
  18. $author = array_key_exists($a['id'], $a1) ? $a1[$a['id']]['first_name']." ".$a1[$a['id']]['last_name'] : 'Nieznany';
  19. $ret[$author][] = $a['article_name'];
  20. }
  21.  
  22. var_dump($ret);
Jeżeli natomiast wyciągasz te dane z bazy, to prawdopodobnie możesz to zrobić na poziomie zapytania.
  Forum: Przedszkole · Podgląd postu: #1194473 · Odpowiedzi: 1 · Wyświetleń: 196

46 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 17:47