Jedną z możliwości jest to, że mogą wystąpić inne problemy powodujące problemy z wydajnością - 6 sekund wydaje się zbyt długie dla operacji CRUD, nawet na złożonej bazie danych. Należy pamiętać, że (kiedyś) ArsDigita mógł obsłużyć 30 trafień na sekundę na dwukierunkowym Sun Ultra 2 (IIRC) przy dość skromnej konfiguracji dysków. Nowoczesny serwer niskiego i średniego zasięgu z rozsądnym układem dysków i odpowiednim dostrojeniem powinien być w stanie poradzić sobie z dość dużym obciążeniem.
-
Brakuje indeksu? - sprawdź plany zapytań powolnych zapytań pod kątem skanowania tabel tam, gdzie nie powinny.
-
Jaki jest układ dysków na serwerze? - czy musisz zaktualizować swój sprzęt lub naprawić niektóre problemy z konfiguracją dysków (np. za mało dysków, logi na tym samym woluminie co dane).
-
Jak sugeruje inny autor, możesz chcieć użyć InnoDB na mocno zapisanych tabelach.
-
Sprawdź konfigurację użycia pamięci na serwerze bazy danych. Możesz skonfigurować więcej pamięci podręcznej.
Edytuj: Dzienniki bazy danych powinny znajdować się na własnych cichych dyskach. Używają sekwencyjnego wzorca dostępu z wieloma małymi sekwencyjnymi zapisami. Tam, gdzie współdzielą dyski z obciążeniem roboczym o dostępie swobodnym, takim jak pliki danych, losowy dostęp do dysku tworzy duże wąskie gardło wydajności systemu w dziennikach. Zauważ, że jest to ruch związany z zapisem, który musi zostać ukończony (tj. zapisany na dysku fizycznym), więc buforowanie nie pomaga w tym.